Ghost/test/utils/url-service-utils.js
Hannah Wolfe 1b4ebce3b0 Split urlServiceUtils from testUtils & unified
- There is now just one way to wait until the UrlService is finished across all of our tests!
- db.ready is only called in the one utility + the actual UrlService tests
2021-02-17 17:36:27 +00:00

32 lines
783 B
JavaScript

const urlService = require('../../core/frontend/services/url');
const events = require('../../core/server/lib/common/events');
module.exports.isFinished = async (options = {disableDbReadyEvent: false}) => {
let timeout;
if (options.disableDbReadyEvent === false) {
events.emit('db.ready');
}
return new Promise(function (resolve) {
(function retry() {
clearTimeout(timeout);
if (urlService.hasFinished()) {
return resolve();
}
timeout = setTimeout(retry, 50);
})();
});
};
module.exports.reset = () => {
urlService.softReset();
},
module.exports.resetGenerators = () => {
urlService.resetGenerators();
urlService.resources.reset({ignoreDBReady: true});
};