Skip to content

Commit 851e673

Browse files
committed
Tests: Add missing tests to improve coverage
1 parent 2477330 commit 851e673

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

tests/unit/mergeSchema.test.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { expect } from 'chai';
2+
import type { JSONSchema4 } from 'json-schema';
3+
import mergeSchema from '../../src/utils/mergeSchema.ts';
4+
5+
describe('mergeSchema', () => {
6+
7+
it('merges array properties and keeps only unique values', () => {
8+
9+
const dest: JSONSchema4 = {
10+
type: 'object',
11+
required: ['id', 'name']
12+
};
13+
14+
const src: JSONSchema4 = {
15+
required: ['name', 'email']
16+
};
17+
18+
const result = mergeSchema(dest, src);
19+
20+
expect(result.required).to.eql(['id', 'name', 'email']);
21+
});
22+
23+
it('deduplicates structurally equal array entries', () => {
24+
25+
const dest: JSONSchema4 = {
26+
enum: [{ code: 'A' }, { code: 'A' }] as any[]
27+
};
28+
29+
const src: JSONSchema4 = {
30+
enum: [{ code: 'A' }, { code: 'B' }] as any[]
31+
};
32+
33+
const result = mergeSchema(dest, src);
34+
35+
expect(result.enum).to.eql([{ code: 'A' }, { code: 'B' }]);
36+
});
37+
});

0 commit comments

Comments
 (0)