UNPKG

@r1tsu/payload

Version:

68 lines (67 loc) 2.28 kB
import { sanitizeConfig } from '../config/sanitize.js'; import { configToJSONSchema } from './configToJSONSchema.js'; describe('configToJSONSchema', ()=>{ it('should handle optional arrays with required fields', ()=>{ const config = { collections: [ { fields: [ { name: 'someRequiredField', type: 'array', fields: [ { name: 'someRequiredField', required: true, type: 'text' } ] } ], slug: 'test', timestamps: false } ] }; const sanitizedConfig = sanitizeConfig(config); const schema = configToJSONSchema(sanitizedConfig, 'text'); expect(schema?.definitions?.test).toStrictEqual({ additionalProperties: false, properties: { id: { type: 'string' }, someRequiredField: { items: { additionalProperties: false, properties: { id: { type: [ 'string', 'null' ] }, someRequiredField: { type: 'string' } }, required: [ 'someRequiredField' ], type: 'object' }, type: [ 'array', 'null' ] } }, required: [ 'id' ], title: 'Test', type: 'object' }); }); }); //# sourceMappingURL=configToJSONSchema.spec.js.map