1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-31 00:16:47 +01:00
unleash.unleash/src/lib/openapi/spec/admin-segment-schema.test.ts
Ivar Conradi Østhus 013efac46b
feat: open-source segments 🚀 (#4690)
We love all open-source Unleash users. in 2022 we built the [segment
capability](https://docs.getunleash.io/reference/segments) (v4.13) as an
enterprise feature, simplify life for our customers.

Now it is time to contribute it to the world 🌏

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-09-19 11:24:26 +00:00

60 lines
1.5 KiB
TypeScript

import { validateSchema } from '../validate';
import { AdminSegmentSchema } from './admin-segment-schema';
test('updateEnvironmentSchema', () => {
const data: AdminSegmentSchema = {
id: 1,
name: 'release',
constraints: [],
createdAt: '2022-07-25 06:00:00',
createdBy: 'test',
description: 'a description',
};
expect(
validateSchema('#/components/schemas/adminSegmentSchema', data),
).toBeUndefined();
expect(
validateSchema('#/components/schemas/adminSegmentSchema', {
id: 1,
name: 'release',
constraints: [],
createdAt: '2022-07-25 06:00:00',
}),
).toBeUndefined();
expect(
validateSchema('#/components/schemas/adminSegmentSchema', {
id: 1,
name: 'release',
constraints: [],
createdAt: '2022-07-25 06:00:00',
additional: 'property',
}),
).toMatchSnapshot();
expect(
validateSchema('#/components/schemas/adminSegmentSchema', {
id: 1,
name: 'release',
constraints: [],
createdAt: 'wrong-format',
}),
).toMatchSnapshot();
expect(
validateSchema('#/components/schemas/adminSegmentSchema', {
name: 'release',
constraints: [],
}),
).toMatchSnapshot();
expect(
validateSchema(
'#/components/schemas/adminSegmentSchema',
'not an object',
),
).toMatchSnapshot();
});