From a5391cb06ac3176c20be799bcef6f7f5b1eb14bb Mon Sep 17 00:00:00 2001 From: Christoph Kappestein Date: Fri, 1 Nov 2024 13:17:01 +0100 Subject: [PATCH] fix test --- src/Generator.php | 14 +++++++++++--- tests/Model/DocumentTest.php | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/Generator.php b/src/Generator.php index 316ab9c..3247e90 100644 --- a/src/Generator.php +++ b/src/Generator.php @@ -40,6 +40,8 @@ class Generator { /** * Generates a TypeSchema specification based on the document + * + * @throws GeneratorException */ public function generate(Document $document, ?string $baseUrl = null): string { @@ -73,7 +75,12 @@ public function generate(Document $document, ?string $baseUrl = null): string $definitions = new Record(); $types = $document->getTypes(); foreach ($types as $type) { - $definitions->put($type->getName(), $this->generateDefinitionType($type)); + $typeName = $type->getName(); + if (empty($typeName)) { + continue; + } + + $definitions->put($typeName, $this->generateDefinitionType($type)); } $schema->setDefinitions($definitions); @@ -97,6 +104,7 @@ private function generateImport(?array $imports): ?Record return null; } + /** @var Record $result */ $result = new Record(); foreach ($imports as $import) { $alias = $import->getAlias() ?? null; @@ -303,11 +311,11 @@ private function generateDefinitionType(Type $type): Model\DefinitionType if ($type->getType() === Type::TYPE_MAP) { $result = new Model\MapDefinitionType(); $result->setType('map'); - $result->setSchema($this->resolveReferenceType($type->getReference(), $type->getTemplate())); + $result->setSchema($this->resolveReferenceType($type->getReference())); } elseif ($type->getType() === Type::TYPE_ARRAY) { $result = new Model\ArrayDefinitionType(); $result->setType('array'); - $result->setSchema($this->resolveReferenceType($type->getReference(), $type->getTemplate())); + $result->setSchema($this->resolveReferenceType($type->getReference())); } else { $result = new Model\StructDefinitionType(); $result->setType('struct'); diff --git a/tests/Model/DocumentTest.php b/tests/Model/DocumentTest.php index 2671b98..989f99c 100644 --- a/tests/Model/DocumentTest.php +++ b/tests/Model/DocumentTest.php @@ -67,7 +67,7 @@ protected function assertDocument(Document $document): void $type = $document->getType($document->indexOfType('Product')); $this->assertInstanceOf(Type::class, $type); $this->assertEquals('Product', $type->getName()); - $this->assertEquals('object', $type->getType()); + $this->assertEquals('struct', $type->getType()); $this->assertEquals(3, count($type->getProperties())); } }