@stryker-mutator/core
Version:
The extendable JavaScript mutation testing framework
27 lines • 1.75 kB
JavaScript
import { expect } from 'chai';
import { deepFreeze } from '@stryker-mutator/util';
import { testInjector } from '@stryker-mutator/test-helpers';
import { MetaSchemaBuilder } from '../../../src/config/index.js';
import { coreTokens } from '../../../src/di/index.js';
describe(MetaSchemaBuilder.name, () => {
it('should merge `properties`', () => {
const input = deepFreeze({ properties: { foo: { type: 'string' } } });
const additionalSchema = deepFreeze({ properties: { bar: { type: 'string' } } });
const additionalSchema2 = deepFreeze({ properties: { baz: { type: 'number' } } });
const sut = testInjector.injector.provideValue(coreTokens.validationSchema, input).injectClass(MetaSchemaBuilder);
const actual = sut.buildMetaSchema([additionalSchema, additionalSchema2]);
expect(actual).deep.eq({ definitions: {}, properties: { ...input.properties, ...additionalSchema.properties, ...additionalSchema2.properties } });
});
it('should merge `definitions`', () => {
const input = deepFreeze({ definitions: { foo: { type: 'string' } } });
const additionalSchema = deepFreeze({ definitions: { bar: { type: 'string' } } });
const additionalSchema2 = deepFreeze({ definitions: { baz: { type: 'number' } } });
const sut = testInjector.injector.provideValue(coreTokens.validationSchema, input).injectClass(MetaSchemaBuilder);
const actual = sut.buildMetaSchema([additionalSchema, additionalSchema2]);
expect(actual).deep.eq({
properties: {},
definitions: { ...input.definitions, ...additionalSchema.definitions, ...additionalSchema2.definitions },
});
});
});
//# sourceMappingURL=meta-schema-builder.spec.js.map