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'] ); }