From 5dae267a546aa6bdb9f95f86181f5c6c97a41e9d Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Wed, 20 Jun 2018 16:33:44 +0300 Subject: [PATCH] fix: discriminator field doesn't change in examples fixes #524 --- src/services/models/MediaType.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/services/models/MediaType.ts b/src/services/models/MediaType.ts index 1465995b..dd87b3ef 100644 --- a/src/services/models/MediaType.ts +++ b/src/services/models/MediaType.ts @@ -42,12 +42,18 @@ export class MediaTypeModel { if (this.schema && this.schema.oneOf) { this.examples = {}; for (const subSchema of this.schema.oneOf) { + const sample = Sampler.sample( + subSchema.rawSchema, + { skipReadOnly: this.isRequestType, skipWriteOnly: !this.isRequestType }, + parser.spec, + ); + + if (this.schema.discriminatorProp && typeof sample === 'object' && sample) { + sample[this.schema.discriminatorProp] = subSchema.title; + } + this.examples[subSchema.title] = { - value: Sampler.sample( - subSchema.rawSchema, - { skipReadOnly: this.isRequestType, skipWriteOnly: !this.isRequestType }, - parser.spec, - ), + value: sample, }; } } else {