import { createModel } from '../../create-model' import { mergeModels } from '../merge-models' import Ajv from 'ajv' import addFormats from 'ajv-formats' const ajv = new Ajv() addFormats(ajv) describe('merge-models', () => { it('should merge two models', () => { const Model1 = createModel({ user_id: { type: 'string', default: '123' }, }) const Model2 = createModel({ username: { type: 'string' }, }) const MergedModel = mergeModels(Model1, Model2) expect(ajv.validateSchema(MergedModel.getSchema({ returnFullSchema: true }))).toBe(true) expect(ajv.validateSchema(MergedModel.getSchema())).toBe(true) const model = new MergedModel() expect(model).toEqual({ user_id: '123', username: undefined }) }) })