mirror of
https://github.com/Unleash/unleash.git
synced 2025-09-10 17:53:36 +02:00
Feat: test feature events schema
This commit is contained in:
parent
69c878a40f
commit
c7375a7b7b
76
src/lib/openapi/spec/feature-events-schema.test.ts
Normal file
76
src/lib/openapi/spec/feature-events-schema.test.ts
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
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();
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user