UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

75 lines 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const validate_1 = require("../validate"); test('featureSchema', () => { const data = { name: 'a', strategies: [ { id: 'a', name: 'a', constraints: [ { contextName: 'a', operator: 'IN', }, ], segments: [1], }, ], variants: [ { name: 'a', weight: 1, weightType: 'a', stickiness: 'a', overrides: [{ contextName: 'a', values: ['a'] }], payload: { type: 'a', value: 'b' }, }, ], environments: [ { name: 'a', type: 'b', enabled: true, }, ], }; expect((0, validate_1.validateSchema)('#/components/schemas/featureSchema', data)).toBeUndefined(); }); test('featureSchema constraints', () => { const data = { name: 'a', strategies: [{ name: 'a', constraints: [{ contextName: 'a' }] }], }; expect((0, validate_1.validateSchema)('#/components/schemas/featureSchema', data)).toMatchSnapshot(); }); test('featureSchema variants should only have a few required fields', () => { const data = { name: 'a', variants: [ { name: 'a', weight: 1, }, ], }; expect((0, validate_1.validateSchema)('#/components/schemas/featureSchema', data)).toBeUndefined(); }); test('featureSchema variant override values must be an array', () => { const data = { name: 'a', variants: [ { name: 'a', weight: 1, weightType: 'a', stickiness: 'a', overrides: [{ contextName: 'a', values: 'b' }], payload: { type: 'a', value: 'b' }, }, ], }; expect((0, validate_1.validateSchema)('#/components/schemas/featureSchema', data)).toMatchSnapshot(); }); //# sourceMappingURL=feature-schema.test.js.map