From 87004fc4286e4ed8d46073632f7e1b84b4939cce Mon Sep 17 00:00:00 2001 From: Christopher Davis Date: Mon, 8 Feb 2021 15:39:14 -0600 Subject: [PATCH] Don't Use `ref` in Discriminator `mapping` Instead just include the schema ref directly per the documentation. --- ModelDescriber/ApplyOpenApiDiscriminatorTrait.php | 2 +- Tests/ModelDescriber/ApplyOpenApiDiscriminatorTraitTest.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ModelDescriber/ApplyOpenApiDiscriminatorTrait.php b/ModelDescriber/ApplyOpenApiDiscriminatorTrait.php index d3e5fe9..3c9446d 100644 --- a/ModelDescriber/ApplyOpenApiDiscriminatorTrait.php +++ b/ModelDescriber/ApplyOpenApiDiscriminatorTrait.php @@ -54,7 +54,7 @@ trait ApplyOpenApiDiscriminatorTrait $model->getOptions() )); $schema->oneOf[] = $oneOfSchema; - $schema->discriminator->mapping[$propertyValue] = clone $oneOfSchema; + $schema->discriminator->mapping[$propertyValue] = $oneOfSchema->ref; } } } diff --git a/Tests/ModelDescriber/ApplyOpenApiDiscriminatorTraitTest.php b/Tests/ModelDescriber/ApplyOpenApiDiscriminatorTraitTest.php index 9ad9c8a..51df5e4 100644 --- a/Tests/ModelDescriber/ApplyOpenApiDiscriminatorTraitTest.php +++ b/Tests/ModelDescriber/ApplyOpenApiDiscriminatorTraitTest.php @@ -41,12 +41,12 @@ class ApplyOpenApiDiscriminatorTraitTest extends TestCase $this->assertArrayHasKey('one', $this->schema->discriminator->mapping); $this->assertSame( $this->modelRegistry->register($this->createModel('FirstType')), - $this->schema->discriminator->mapping['one']->ref + $this->schema->discriminator->mapping['one'] ); $this->assertArrayHasKey('two', $this->schema->discriminator->mapping); $this->assertSame( $this->modelRegistry->register($this->createModel('SecondType')), - $this->schema->discriminator->mapping['two']->ref + $this->schema->discriminator->mapping['two'] ); }