diff --git a/src/utils/__tests__/openapi.test.ts b/src/utils/__tests__/openapi.test.ts index 94fb1e0c93..9e511259f1 100644 --- a/src/utils/__tests__/openapi.test.ts +++ b/src/utils/__tests__/openapi.test.ts @@ -335,7 +335,8 @@ describe('Utils', () => { min: number | undefined = undefined, max: number | undefined = undefined, multipleOf: number | undefined = undefined, - ) => ({ type: 'array', minItems: min, maxItems: max, multipleOf }); + uniqueItems?: boolean, + ) => ({ type: 'array', minItems: min, maxItems: max, multipleOf, uniqueItems }); it('should not have a humanized constraint without schema constraints', () => { expect(humanizeConstraints(itemConstraintSchema())).toHaveLength(0); @@ -372,6 +373,12 @@ describe('Utils', () => { 'multiple of 0.5', ); }); + + it('should have a humanized constraint when uniqueItems is set', () => { + expect(humanizeConstraints(itemConstraintSchema(undefined, undefined, undefined, true))).toContain( + 'unique', + ); + }); }); describe('OpenAPI pluralizeType', () => { diff --git a/src/utils/openapi.ts b/src/utils/openapi.ts index ad98c811b3..e20dbef9d6 100644 --- a/src/utils/openapi.ts +++ b/src/utils/openapi.ts @@ -448,6 +448,10 @@ export function humanizeConstraints(schema: OpenAPISchema): string[] { res.push(numberRange); } + if (schema.uniqueItems) { + res.push('unique'); + } + return res; }