public function JsonapiMenuItemsTest::testParametersMinDepth in JSON:API Menu Items 1.2.x
Tests the JSON:API Menu Items resource with the 'min_depth' filter.
File
- tests/
src/ Functional/ JsonapiMenuItemsTest.php, line 164
Class
- JsonapiMenuItemsTest
- Tests JSON:API Menu Items functionality.
Namespace
Drupal\Tests\jsonapi_menu_items\FunctionalCode
public function testParametersMinDepth() {
$this
->drupalLogin($this->account);
$link_title = $this
->randomMachineName();
$content_link = $this
->createMenuLink($link_title, 'jsonapi_menu_test.open');
$url = Url::fromRoute('jsonapi_menu_items.menu', [
'menu' => 'jsonapi-menu-items-test',
'filter' => [
'min_depth' => 2,
],
]);
[
$content,
$headers,
] = $this
->getJsonApiMenuItemsResponse($url);
self::assertCount(2, $content['data']);
self::assertCacheContext($headers, 'url.query_args:filter');
$expected_items = Json::decode(strtr(file_get_contents(dirname(__DIR__, 2) . '/fixtures/min-depth-expected-items.json'), [
'%uuid' => $content_link
->uuid(),
'%title' => $link_title,
'%base_path' => Url::fromRoute('<front>')
->toString(),
]));
self::assertEquals($expected_items['data'], $content['data']);
$url = Url::fromRoute('jsonapi_menu_items.menu', [
'menu' => 'jsonapi-menu-items-test',
'filter' => [
'min_depth' => 1,
],
]);
[
$content,
$headers,
] = $this
->getJsonApiMenuItemsResponse($url);
self::assertCount(3, $content['data']);
}