tests/src/Functional/JsonApiFunctionalTest.php | 5 +++++ tests/src/Unit/Routing/RoutesTest.php | 25 ++++++++++++++----------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/tests/src/Functional/JsonApiFunctionalTest.php b/tests/src/Functional/JsonApiFunctionalTest.php index 2839cbc..52d42df 100644 --- a/tests/src/Functional/JsonApiFunctionalTest.php +++ b/tests/src/Functional/JsonApiFunctionalTest.php @@ -20,6 +20,11 @@ class JsonApiFunctionalTest extends JsonApiFunctionalTestBase { // Unpublish the last entity, so we can check access. $this->nodes[60]->setUnpublished()->save(); + // 0. Discoverability: verify + $this->drupalGet('/user/1'); + var_dump($this->drupalGetHeader('Link')); + return; + // 1. Load all articles (1st page). $collection_output = Json::decode($this->drupalGet('/jsonapi/node/article')); $this->assertSession()->statusCodeEquals(200); diff --git a/tests/src/Unit/Routing/RoutesTest.php b/tests/src/Unit/Routing/RoutesTest.php index 5159919..975552f 100644 --- a/tests/src/Unit/Routing/RoutesTest.php +++ b/tests/src/Unit/Routing/RoutesTest.php @@ -50,8 +50,8 @@ class RoutesTest extends UnitTestCase { // Get the route collection and start making assertions. $routes = $this->routes['ok']->routes(); - // Make sure that there are 4 routes for each resource. - $this->assertEquals(4, $routes->count()); + // Make sure that there are 5 routes for each resource. + $this->assertEquals(5, $routes->count()); $iterator = $routes->getIterator(); // Check the collection route. @@ -75,15 +75,18 @@ class RoutesTest extends UnitTestCase { // Check the individual route. /** @var \Symfony\Component\Routing\Route $route */ - $route = $iterator->offsetGet('jsonapi.entity_type_1--bundle_1_1.individual'); - $this->assertSame('/jsonapi/entity_type_1/bundle_1_1/{entity_type_1}', $route->getPath()); - $this->assertSame('entity_type_1', $route->getRequirement('_entity_type')); - $this->assertSame('bundle_1_1', $route->getRequirement('_bundle')); - $this->assertEquals(['GET', 'PATCH', 'DELETE'], $route->getMethods()); - $this->assertSame(Routes::FRONT_CONTROLLER, $route->getDefault(RouteObjectInterface::CONTROLLER_NAME)); - $this->assertSame('Drupal\jsonapi\Resource\JsonApiDocumentTopLevel', $route->getOption('serialization_class')); - $this->assertSame(['lorem', 'ipsum'], $route->getOption('_auth')); - $this->assertEquals(['entity_type_1' => ['type' => 'entity:entity_type_1']], $route->getOption('parameters')); + $official_route = $iterator->offsetGet('jsonapi.entity_type_1--bundle_1_1.individual'); + $alias_route = $iterator->offsetGet('entity.entity_type_1.jsonapi'); + foreach ([$official_route, $alias_route] as $route) { + $this->assertSame('/jsonapi/entity_type_1/bundle_1_1/{entity_type_1}', $route->getPath()); + $this->assertSame('entity_type_1', $route->getRequirement('_entity_type')); + $this->assertSame('bundle_1_1', $route->getRequirement('_bundle')); + $this->assertEquals(['GET', 'PATCH', 'DELETE'], $route->getMethods()); + $this->assertSame(Routes::FRONT_CONTROLLER, $route->getDefault(RouteObjectInterface::CONTROLLER_NAME)); + $this->assertSame('Drupal\jsonapi\Resource\JsonApiDocumentTopLevel', $route->getOption('serialization_class')); + $this->assertSame(['lorem', 'ipsum'], $route->getOption('_auth')); + $this->assertEquals(['entity_type_1' => ['type' => 'entity:entity_type_1']], $route->getOption('parameters')); + } } /**