From 4cfaecee53af484a148243622ee46bcb1ce598ad Mon Sep 17 00:00:00 2001 From: Fredrik Oseberg Date: Fri, 25 Feb 2022 12:10:41 +0100 Subject: [PATCH] fix: add operator test --- src/lib/schema/feature-schema.test.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/lib/schema/feature-schema.test.ts b/src/lib/schema/feature-schema.test.ts index 236fdb047e..700eb5bbc5 100644 --- a/src/lib/schema/feature-schema.test.ts +++ b/src/lib/schema/feature-schema.test.ts @@ -1,4 +1,4 @@ -import { featureSchema, querySchema } from './feature-schema'; +import { constraintSchema, featureSchema, querySchema } from './feature-schema'; test('should require URL firendly name', () => { const toggle = { @@ -272,3 +272,20 @@ test('Filter queries should reject project names that are not alphanum', () => { '"project[0]" must be URL friendly', ); }); + +test('constraint schema should only allow specified operators', async () => { + const invalidConstraint = { + contextName: 'semver', + operator: 'INVALID_OPERATOR', + value: 123123213123, + }; + expect.assertions(1); + + try { + await constraintSchema.validateAsync(invalidConstraint); + } catch (error) { + expect(error.message).toBe( + '"operator" must be one of [NOT_IN, IN, STR_ENDS_WITH, STR_STARTS_WITH, STR_CONTAINS, NUM_EQ, NUM_GT, NUM_GTE, NUM_LT, NUM_LTE, DATE_AFTER, DATE_BEFORE, SEMVER_EQ, SEMVER_GT, SEMVER_LT]', + ); + } +});