public function HypermediaIntegrationTest::testMenuItemsLinks in JSON:API Menu Items 1.2.x
Same name and namespace in other branches
- 1.1.x tests/src/Functional/HypermediaIntegrationTest.php \Drupal\Tests\jsonapi_menu_items\Functional\HypermediaIntegrationTest::testMenuItemsLinks()
Tests the `menu_items` links.
File
- tests/
src/ Functional/ HypermediaIntegrationTest.php, line 39
Class
- HypermediaIntegrationTest
- Tests JSON:API Hypermedia integration.
Namespace
Drupal\Tests\jsonapi_menu_items\FunctionalCode
public function testMenuItemsLinks() {
$url = Url::fromRoute('jsonapi.resource_list');
$request_options = [];
$request_options[RequestOptions::HEADERS]['Accept'] = 'application/vnd.api+json';
$response = $this
->request('GET', $url, $request_options);
$body = (string) $response
->getBody();
$this
->assertEquals(200, $response
->getStatusCode(), $body);
$decoded_document = Json::decode($body);
$this
->assertTrue(isset($decoded_document['links']['menu_items--main']), var_export($decoded_document, TRUE));
$link_href = $decoded_document['links']['menu_items--main']['href'];
$expected_link_href = Url::fromRoute('jsonapi_menu_items.menu', [
'menu' => 'main',
])
->setAbsolute()
->toString();
$this
->assertEquals($expected_link_href, $link_href);
}