@riddance/service
Version:
36 lines • 4.15 kB
JavaScript
import { getTestContext } from './setup.js';
export function getLoggedEntries() {
return getTestContext().log.getEntries();
}
export function clearLoggedEntries() {
getTestContext().log.clear();
}
export function getEmitted() {
return [...getTestContext().emitted];
}
export function clearEmitted() {
getTestContext().emitted = [];
}
export function allowErrorLogs() {
const l = getTestContext().log;
l.failOnErrorLogs = false;
return {
[Symbol.dispose]: () => {
l.failOnErrorLogs = true;
},
};
}
export function timeShift(seconds) {
getTestContext().timeShift += seconds;
}
export function timeShiftTo(when) {
getTestContext().timeShift = 0;
timeShift((when.getTime() - Date.now()) / 1000);
}
export function getEnvironment() {
return { ...getTestContext().env };
}
export function setEnvironment(env) {
Object.assign(getTestContext().env, env);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUUzQyxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU8sY0FBYyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFBO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCO0lBQzlCLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVU7SUFPdEIsT0FBTyxDQUFDLEdBQUcsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZO0lBQ3hCLGNBQWMsRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjO0lBQzFCLE1BQU0sQ0FBQyxHQUFHLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUM5QixDQUFDLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQTtJQUN6QixPQUFPO1FBQ0gsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO1FBQzVCLENBQUM7S0FDSixDQUFBO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsT0FBZTtJQUNyQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFBO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVU7SUFDbEMsY0FBYyxFQUFFLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQTtJQUM5QixTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7QUFDbkQsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjO0lBQzFCLE9BQU8sRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQWdCO0lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dFbnRyeSB9IGZyb20gJ0ByaWRkYW5jZS9ob3N0L2NvbnRleHQnXG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgSnNvbiB9IGZyb20gJy4uL2NvbnRleHQuanMnXG5pbXBvcnQgeyBnZXRUZXN0Q29udGV4dCB9IGZyb20gJy4vc2V0dXAuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMb2dnZWRFbnRyaWVzKCk6IExvZ0VudHJ5W10ge1xuICAgIHJldHVybiBnZXRUZXN0Q29udGV4dCgpLmxvZy5nZXRFbnRyaWVzKClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyTG9nZ2VkRW50cmllcygpIHtcbiAgICBnZXRUZXN0Q29udGV4dCgpLmxvZy5jbGVhcigpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWl0dGVkKCk6IHtcbiAgICB0b3BpYzogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gICAgc3ViamVjdDogc3RyaW5nXG4gICAgZGF0YT86IEpzb25cbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmdcbn1bXSB7XG4gICAgcmV0dXJuIFsuLi5nZXRUZXN0Q29udGV4dCgpLmVtaXR0ZWRdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckVtaXR0ZWQoKSB7XG4gICAgZ2V0VGVzdENvbnRleHQoKS5lbWl0dGVkID0gW11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFsbG93RXJyb3JMb2dzKCkge1xuICAgIGNvbnN0IGwgPSBnZXRUZXN0Q29udGV4dCgpLmxvZ1xuICAgIGwuZmFpbE9uRXJyb3JMb2dzID0gZmFsc2VcbiAgICByZXR1cm4ge1xuICAgICAgICBbU3ltYm9sLmRpc3Bvc2VdOiAoKSA9PiB7XG4gICAgICAgICAgICBsLmZhaWxPbkVycm9yTG9ncyA9IHRydWVcbiAgICAgICAgfSxcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lU2hpZnQoc2Vjb25kczogbnVtYmVyKTogdm9pZCB7XG4gICAgZ2V0VGVzdENvbnRleHQoKS50aW1lU2hpZnQgKz0gc2Vjb25kc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGltZVNoaWZ0VG8od2hlbjogRGF0ZSk6IHZvaWQge1xuICAgIGdldFRlc3RDb250ZXh0KCkudGltZVNoaWZ0ID0gMFxuICAgIHRpbWVTaGlmdCgod2hlbi5nZXRUaW1lKCkgLSBEYXRlLm5vdygpKSAvIDEwMDApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnZpcm9ubWVudCgpIHtcbiAgICByZXR1cm4geyAuLi5nZXRUZXN0Q29udGV4dCgpLmVudiB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFbnZpcm9ubWVudChlbnY6IEVudmlyb25tZW50KSB7XG4gICAgT2JqZWN0LmFzc2lnbihnZXRUZXN0Q29udGV4dCgpLmVudiwgZW52KVxufVxuIl19