* Automatically create a ServiceTester. * * When run from e.g. `gem-rank.tester.js`, this will create a tester that * attaches to the service found in `gem-rank.service.js`. * * This can't be used for `.service.js` files which export more than one * service. * * @returns {module:core/service
()
| 19 | * ServiceTester instance |
| 20 | */ |
| 21 | async function createServiceTester() { |
| 22 | const servicePath = caller().replace('.tester.js', '.service.js') |
| 23 | const ServiceClass = Object.values(await import(servicePath))[0] |
| 24 | if (!(ServiceClass.prototype instanceof BaseService)) { |
| 25 | throw Error( |
| 26 | `${servicePath} does not export a single service. Invoke new ServiceTester() directly.`, |
| 27 | ) |
| 28 | } |
| 29 | return ServiceTester.forServiceClass(ServiceClass) |
| 30 | } |
| 31 | |
| 32 | export default createServiceTester |
no test coverage detected