lion/packages/localize/test/test-utils.js
Thomas Allmer ec8da8f12c feat: release inital public lion version
Co-authored-by: Mikhail Bashkirov <mikhail.bashkirov@ing.com>
Co-authored-by: Thijs Louisse <thijs.louisse@ing.com>
Co-authored-by: Joren Broekema <joren.broekema@ing.com>
Co-authored-by: Gerjan van Geest <gerjan.van.geest@ing.com>
Co-authored-by: Erik Kroes <erik.kroes@ing.com>
Co-authored-by: Lars den Bakker <lars.den.bakker@ing.com>
2019-04-26 10:37:57 +02:00

39 lines
942 B
JavaScript

let fakeImports = {};
export function setupFakeImport(path, data) {
const fakeExports = { ...data };
Object.defineProperty(fakeExports, '__esModule', { value: true });
fakeImports[path] = fakeExports;
}
export function setupEmptyFakeImportsFor(namespaces, locales) {
namespaces.forEach(namespace => {
locales.forEach(locale => {
setupFakeImport(`./${namespace}/${locale}.js`, {
default: {},
});
});
});
}
export function resetFakeImport() {
fakeImports = {};
}
function resolveOrReject(result, resolve, reject) {
if (result) {
resolve(result);
} else {
reject();
}
}
export async function fakeImport(path, ms = 0) {
const result = fakeImports[path];
if (ms > 0) {
return new Promise((resolve, reject) => {
setTimeout(() => resolveOrReject(result, resolve, reject), ms);
});
}
return new Promise((resolve, reject) => resolveOrReject(result, resolve, reject));
}