feat: add field constraint indicator for uniqueItems (#1423)

* Add field constraint indicator for uniqueItems

Resolves #1353

* Update src/components/Fields/FieldContstraints.tsx

Co-authored-by: Roman Hotsiy <gotsijroman@gmail.com>
This commit is contained in:
Michael Huynh 2020-10-27 16:51:24 +08:00 committed by romanhotsiy
parent e2de5b065e
commit c0ae9de607
No known key found for this signature in database
GPG Key ID: 0BC2221278CCBBB8
2 changed files with 12 additions and 1 deletions

View File

@ -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', () => {

View File

@ -448,6 +448,10 @@ export function humanizeConstraints(schema: OpenAPISchema): string[] {
res.push(numberRange);
}
if (schema.uniqueItems) {
res.push('unique');
}
return res;
}