1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-06 00:07:44 +01:00
unleash.unleash/src/lib/openapi/spec/feature-events-schema.test.ts

77 lines
2.4 KiB
TypeScript
Raw Normal View History

import { validateSchema } from '../validate';
import {
FeatureEventsSchema,
featureEventsSchema,
} from './feature-events-schema';
test('featureEventsSchema', () => {
const data: FeatureEventsSchema = {
toggleName: 'my-feature',
events: [
{
id: 899,
type: 'feature-created',
createdBy: 'user@company.com',
createdAt: '2022-05-31T13:32:20.560Z',
data: {
name: 'new-feature',
description: 'Toggle description',
type: 'release',
project: 'my-project',
stale: false,
variants: [],
createdAt: '2022-05-31T13:32:20.547Z',
lastSeenAt: null,
impressionData: true,
},
preData: null,
tags: [],
featureName: 'new-feature',
project: 'my-project',
environment: null,
},
],
};
expect(validateSchema(featureEventsSchema.$id, data)).toBeUndefined();
});
test('featureEventsSchema types', () => {
const data: FeatureEventsSchema = {
toggleName: 'my-feature',
events: [
{
// @ts-expect-error
id: '1',
type: 'feature-created',
createdBy: 'user@company.com',
createdAt: '2022-05-31T13:32:20.560Z',
data: {
name: 'new-feature',
description: 'Toggle description',
type: 'release',
project: 'my-project',
stale: false,
variants: [],
createdAt: '2022-05-31T13:32:20.547Z',
lastSeenAt: null,
impressionData: true,
},
preData: null,
tags: [
{
type: '',
// @ts-expect-error
value: 1,
},
],
featureName: 'new-feature',
project: 'my-project',
environment: null,
},
],
};
expect(validateSchema(featureEventsSchema.$id, data)).not.toBeUndefined();
});