From 789b70dcfeccdf112616e9d86aab2bbf3d7220b4 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Tue, 19 Jul 2022 10:28:56 +0200 Subject: [PATCH] Feat: add "variants" as a required property on playground response --- .../spec/playground-response-schema.ts | 22 ++++++++++++++++--- .../__snapshots__/openapi.e2e.test.ts.snap | 20 ++++++++++++++++- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/lib/openapi/spec/playground-response-schema.ts b/src/lib/openapi/spec/playground-response-schema.ts index 8cb1dd54ad..be47d2a0e7 100644 --- a/src/lib/openapi/spec/playground-response-schema.ts +++ b/src/lib/openapi/spec/playground-response-schema.ts @@ -2,6 +2,7 @@ import { FromSchema } from 'json-schema-to-ts'; import { sdkContextSchema } from './sdk-context-schema'; import { playgroundRequestSchema } from './playground-request-schema'; import { playgroundFeatureSchema } from './playground-feature-schema'; +import { featureVariantsSchema } from './feature-variants-schema'; export const playgroundResponseSchema = { $id: '#/components/schemas/playgroundResponseSchema', @@ -16,15 +17,30 @@ export const playgroundResponseSchema = { features: { type: 'array', items: { - $ref: playgroundFeatureSchema.$id, + allOf: [ + { $ref: playgroundFeatureSchema.$id }, + { + type: 'object', + required: ['variants'], + properties: { + variants: { + type: 'array', + items: { + $ref: featureVariantsSchema.$id, + }, + }, + }, + }, + ], }, }, }, components: { schemas: { - sdkContextSchema, - playgroundRequestSchema, + featureVariantsSchema, playgroundFeatureSchema, + playgroundRequestSchema, + sdkContextSchema, }, }, } as const; diff --git a/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap b/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap index b85be57f34..48de92e5ad 100644 --- a/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap +++ b/src/test/e2e/api/openapi/__snapshots__/openapi.e2e.test.ts.snap @@ -1877,7 +1877,25 @@ Object { "properties": Object { "features": Object { "items": Object { - "$ref": "#/components/schemas/playgroundFeatureSchema", + "allOf": Array [ + Object { + "$ref": "#/components/schemas/playgroundFeatureSchema", + }, + Object { + "properties": Object { + "variants": Object { + "items": Object { + "$ref": "#/components/schemas/featureVariantsSchema", + }, + "type": "array", + }, + }, + "required": Array [ + "variants", + ], + "type": "object", + }, + ], }, "type": "array", },