fixturio
Version:
Fixtures
40 lines (39 loc) • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FixtureAsserter = void 0;
const fixtureSifter_1 = require("./fixtureSifter");
class FixtureAsserter {
assertInjectDependencies(fixture, injectDependencies) {
this.assertArray(injectDependencies, `Dependencies for ${fixture.name} must be an array`);
this.assertArrayItem(injectDependencies, (injectDependency) => {
if (typeof injectDependency !== 'function' && typeof injectDependency !== 'string') {
throw new Error(`Unknown fixture inject dependency ${injectDependency} for ${fixture.name}`);
}
});
}
assertFixtureDependencies(fixture, fixtureDependencies) {
this.assertArray(fixtureDependencies, `Dependencies for ${fixture.name} must be an array`);
this.assertArrayItem(fixtureDependencies, (fixtureDependency) => {
if ((0, fixtureSifter_1.isFixture)(fixtureDependency) === false) {
throw new Error(`Unknown fixture dependency ${fixtureDependency} for ${fixture.name}`);
}
});
}
assertTags(fixture, tags) {
this.assertArray(tags, `Tags for ${fixture.name} must be an array`);
this.assertArrayItem(tags, (tag) => {
if (typeof tag !== 'string') {
throw new Error(`Unknown tag ${tag} for ${fixture.name}`);
}
});
}
assertArray(args, errorMessage) {
if (!Array.isArray(args)) {
throw new Error(errorMessage);
}
}
assertArrayItem(items, fn) {
items.forEach(fn);
}
}
exports.FixtureAsserter = FixtureAsserter;