@@ -50,7 +50,7 @@ protected function setUp(): void
5050 $ propertyNameCollectionFactory ->create (Dummy::class, ['enable_getter_setter_extraction ' => true , 'schema_type ' => Schema::TYPE_OUTPUT ])->willReturn (new PropertyNameCollection ());
5151 $ propertyMetadataFactory = $ this ->prophesize (PropertyMetadataFactoryInterface::class);
5252
53- $ definitionNameFactory = new DefinitionNameFactory ([ ' jsonapi ' => true , ' jsonhal ' => true , ' jsonld ' => true ] );
53+ $ definitionNameFactory = new DefinitionNameFactory ();
5454
5555 $ baseSchemaFactory = new BaseSchemaFactory (
5656 resourceMetadataFactory: $ resourceMetadataFactory ->reveal (),
@@ -87,8 +87,8 @@ public function testHasRootDefinitionKeyBuildSchema(): void
8787 $ rootDefinitionKey = $ resultSchema ->getRootDefinitionKey ();
8888
8989 $ this ->assertTrue (isset ($ definitions [$ rootDefinitionKey ]));
90- $ this ->assertTrue (isset ($ definitions [$ rootDefinitionKey ]['properties ' ]));
91- $ properties = $ resultSchema ['definitions ' ][$ rootDefinitionKey ]['properties ' ];
90+ $ this ->assertTrue (isset ($ definitions [$ rootDefinitionKey ]['allOf ' ][ 0 ][ ' properties ' ]));
91+ $ properties = $ resultSchema ['definitions ' ][$ rootDefinitionKey ]['allOf ' ][ 0 ][ ' properties ' ];
9292 $ this ->assertArrayHasKey ('_links ' , $ properties );
9393 $ this ->assertEquals (
9494 [
@@ -109,29 +109,26 @@ public function testHasRootDefinitionKeyBuildSchema(): void
109109 );
110110 }
111111
112- public function testSchemaTypeBuildSchema (): void
112+ public function testCollection (): void
113113 {
114114 $ resultSchema = $ this ->schemaFactory ->buildSchema (Dummy::class, 'jsonhal ' , Schema::TYPE_OUTPUT , new GetCollection ());
115- $ definitionName = 'Dummy.jsonhal ' ;
116-
117115 $ this ->assertNull ($ resultSchema ->getRootDefinitionKey ());
118- $ this ->assertTrue (isset ($ resultSchema ['properties ' ]));
119- $ this ->assertArrayHasKey ('_embedded ' , $ resultSchema ['properties ' ]);
120- $ this ->assertArrayHasKey ('totalItems ' , $ resultSchema ['properties ' ]);
121- $ this ->assertArrayHasKey ('itemsPerPage ' , $ resultSchema ['properties ' ]);
122- $ this ->assertArrayHasKey ('_links ' , $ resultSchema ['properties ' ]);
123- $ properties = $ resultSchema ['definitions ' ][$ definitionName ]['properties ' ];
124- $ this ->assertArrayHasKey ('_links ' , $ properties );
125116
126- $ resultSchema = $ this ->schemaFactory ->buildSchema (Dummy::class, 'jsonhal ' , Schema::TYPE_OUTPUT , null , null , null , true );
117+ $ this ->assertTrue (isset ($ resultSchema ['definitions ' ]['Dummy.jsonhal ' ]));
118+ $ this ->assertTrue (isset ($ resultSchema ['definitions ' ]['HalCollectionBaseSchema ' ]));
119+ $ this ->assertTrue (isset ($ resultSchema ['definitions ' ]['Dummy.jsonhal ' ]));
127120
128- $ this ->assertNull ($ resultSchema ->getRootDefinitionKey ());
129- $ this ->assertTrue (isset ($ resultSchema ['properties ' ]));
130- $ this ->assertArrayHasKey ('_embedded ' , $ resultSchema ['properties ' ]);
131- $ this ->assertArrayHasKey ('totalItems ' , $ resultSchema ['properties ' ]);
132- $ this ->assertArrayHasKey ('itemsPerPage ' , $ resultSchema ['properties ' ]);
133- $ this ->assertArrayHasKey ('_links ' , $ resultSchema ['properties ' ]);
134- $ properties = $ resultSchema ['definitions ' ][$ definitionName ]['properties ' ];
135- $ this ->assertArrayHasKey ('_links ' , $ properties );
121+ foreach ($ resultSchema ['allOf ' ] as $ schema ) {
122+ if (isset ($ schema ['$ref ' ])) {
123+ $ this ->assertEquals ($ schema ['$ref ' ], '#/definitions/HalCollectionBaseSchema ' );
124+ continue ;
125+ }
126+
127+ $ this ->assertArrayHasKey ('_embedded ' , $ schema ['properties ' ]);
128+ $ this ->assertEquals ('#/definitions/Dummy.jsonhal ' , $ schema ['properties ' ]['_embedded ' ]['additionalProperties ' ]['items ' ]['$ref ' ]);
129+ }
130+
131+ $ forceCollectionSchema = $ this ->schemaFactory ->buildSchema (Dummy::class, 'jsonhal ' , Schema::TYPE_OUTPUT , null , null , null , true );
132+ $ this ->assertEquals ($ forceCollectionSchema , $ resultSchema );
136133 }
137134}
0 commit comments