diff --git a/tests/src/Unit/LinkManager/LinkManagerTest.php b/tests/src/Unit/LinkManager/LinkManagerTest.php index 47a1d2c..7b7e72e 100644 --- a/tests/src/Unit/LinkManager/LinkManagerTest.php +++ b/tests/src/Unit/LinkManager/LinkManagerTest.php @@ -4,10 +4,10 @@ namespace Drupal\Tests\jsonapi\Unit\LinkManager; use Drupal\Component\Utility\UrlHelper; use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\Core\GeneratedUrl; use Drupal\Core\Http\Exception\CacheableBadRequestHttpException; use Drupal\Core\Routing\UrlGeneratorInterface; use Drupal\Core\Utility\UnroutedUrlAssemblerInterface; -use Drupal\jsonapi\JsonApiResource\WebLink; use Drupal\jsonapi\LinkManager\LinkManager; use Drupal\jsonapi\Query\OffsetPage; use Drupal\Tests\UnitTestCase; @@ -46,9 +46,9 @@ class LinkManagerTest extends UnitTestCase { */ public function testGetPagerLinks($offset, $size, $has_next_page, $total, $include_count, array $pages) { $assembler = $this->prophesize(UnroutedUrlAssemblerInterface::class); - $assembler->assemble(Argument::type('string'), Argument::type('array'), FALSE) + $assembler->assemble(Argument::type('string'), Argument::type('array'), TRUE) ->will(function ($args) { - return $args[0] . '?' . UrlHelper::buildQuery($args[1]['query']); + return (new GeneratedUrl())->setGeneratedUrl($args[0] . '?' . UrlHelper::buildQuery($args[1]['query'])); }); $cache_contexts_manager = $this->getMockBuilder('Drupal\Core\Cache\Context\CacheContextsManager') @@ -89,9 +89,9 @@ class LinkManagerTest extends UnitTestCase { } $pager_links = $this->linkManager->getPagerLinks($request->reveal(), $context); - $links = array_map(function (WebLink $link) { - return $link->getHref(); - }, iterator_to_array($pager_links->getIterator())); + $links = array_map(function ($links) { + return ['href' => reset($links)->getHref()]; + }, iterator_to_array($pager_links)); ksort($pages); ksort($links); $this->assertSame($pages, $links); @@ -188,15 +188,17 @@ class LinkManagerTest extends UnitTestCase { } /** - * @covers ::getRequestLink + * @covers ::getRequestUrl */ - public function testGetRequestLink() { + public function testGetRequestUrl() { $assembler = $this->prophesize(UnroutedUrlAssemblerInterface::class); - $assembler->assemble(Argument::type('string'), ['external' => TRUE, 'query' => ['dolor' => 'sid']], FALSE) - ->will(function ($args) { - return $args[0] . '?dolor=sid'; - }) - ->shouldBeCalled(); + $return = function ($query) { + return function ($args) use ($query) { + return $args[0] . $query; + }; + }; + $assembler->assemble(Argument::type('string'), ['external' => TRUE, 'query' => ['dolor' => 'sid']], FALSE)->will($return('?dolor=sid'))->shouldBeCalled(); + $assembler->assemble(Argument::type('string'), ['external' => TRUE], FALSE)->will($return(''))->shouldBeCalled(); $container = new ContainerBuilder(); $container->set('unrouted_url_assembler', $assembler->reveal()); @@ -210,10 +212,10 @@ class LinkManagerTest extends UnitTestCase { $request->getBaseUrl()->willReturn('/drupal'); $request->getPathInfo()->willReturn('/jsonapi/node/article/07c870e9-491b-4173-8e2b-4e059400af72'); - $this->assertSame('https://example.com/drupal/jsonapi/node/article/07c870e9-491b-4173-8e2b-4e059400af72?dolor=sid', $this->linkManager->getRequestUrl($request->reveal(), ['dolor' => 'sid'])); + $this->assertSame('https://example.com/drupal/jsonapi/node/article/07c870e9-491b-4173-8e2b-4e059400af72?dolor=sid', $this->linkManager->getRequestUrl($request->reveal(), ['dolor' => 'sid'])->toString()); // Get the default query from the request object. - $this->assertSame('https://example.com/drupal/jsonapi/node/article/07c870e9-491b-4173-8e2b-4e059400af72?amet=pax', $this->linkManager->getRequestUrl($request->reveal())); + $this->assertSame('https://example.com/drupal/jsonapi/node/article/07c870e9-491b-4173-8e2b-4e059400af72?amet=pax', $this->linkManager->getRequestUrl($request->reveal())->toString()); } }