diff --git a/tests/src/Functional/JsonApiFunctionalMultilingualTest.php b/tests/src/Functional/JsonApiFunctionalMultilingualTest.php index 64dad31..a060d9a 100644 --- a/tests/src/Functional/JsonApiFunctionalMultilingualTest.php +++ b/tests/src/Functional/JsonApiFunctionalMultilingualTest.php @@ -49,8 +49,12 @@ class JsonApiFunctionalMultilingualTest extends JsonApiFunctionalTestBase { public function testReadMultilingual() { $this->createDefaultContent(5, 5, TRUE, TRUE, static::IS_MULTILINGUAL, FALSE); + // Different databases have different sort orders, so a sort is required so + // test expectations do not need to vary per database. + $default_sort = ['sort' => 'drupal_internal__nid']; + // Test reading an individual entity. - $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article/' . $this->nodes[0]->uuid(), ['query' => ['include' => 'field_tags,field_image']])); + $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article/' . $this->nodes[0]->uuid(), ['query' => ['include' => 'field_tags,field_image'] + $default_sort])); $this->assertEquals($this->nodes[0]->getTranslation('ca')->getTitle(), $output['data']['attributes']['title']); $included_tags = array_filter($output['included'], function ($entry) { @@ -61,11 +65,11 @@ class JsonApiFunctionalMultilingualTest extends JsonApiFunctionalTestBase { // TODO figure out how to fetcht the alt text of an image. $this->assertEquals($tag_name, reset($included_tags)['attributes']['name']); - $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article/' . $this->nodes[0]->uuid())); + $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article/' . $this->nodes[0]->uuid(), ['query' => $default_sort])); $this->assertEquals($this->nodes[0]->getTranslation('ca')->getTitle(), $output['data']['attributes']['title']); // Test reading a collection of entities. - $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article')); + $output = Json::decode($this->drupalGet('/ca/jsonapi/node/article', ['query' => $default_sort])); $this->assertEquals($this->nodes[0]->getTranslation('ca')->getTitle(), $output['data'][0]['attributes']['title']); } diff --git a/tests/src/Functional/UserTest.php b/tests/src/Functional/UserTest.php index 131e38e..f6b3c12 100644 --- a/tests/src/Functional/UserTest.php +++ b/tests/src/Functional/UserTest.php @@ -419,7 +419,7 @@ class UserTest extends ResourceTestBase { // Grant permission to role that both users use. $this->grantPermissionsToTestedRole(['access user profiles']); - $collection_url = Url::fromRoute('jsonapi.user--user.collection'); + $collection_url = Url::fromRoute('jsonapi.user--user.collection', [], ['query' => ['sort' => 'drupal_internal__uid']]); // @todo Remove line below in favor of commented line in https://www.drupal.org/project/jsonapi/issues/2878463. $user_a_url = Url::fromRoute(sprintf('jsonapi.user--user.individual'), ['entity' => $user_a->uuid()]); /* $user_a_url = $user_a->toUrl('jsonapi'); */ diff --git a/tests/src/Kernel/Controller/EntityResourceTest.php b/tests/src/Kernel/Controller/EntityResourceTest.php index 2e0cd6d..2850813 100644 --- a/tests/src/Kernel/Controller/EntityResourceTest.php +++ b/tests/src/Kernel/Controller/EntityResourceTest.php @@ -329,15 +329,18 @@ class EntityResourceTest extends JsonapiKernelTestBase { */ public function testGetPagedCollection() { $pager = new OffsetPage(1, 1); + $sort = new Sort([['path' => 'nid', 'direction' => 'ASC']]); $request = Request::create('/jsonapi/node/article'); $request->attributes = new ParameterBag([ '_route_params' => [ '_json_api_params' => [ 'page' => $pager, + 'sort' => $sort, ], ], '_json_api_params' => [ 'page' => $pager, + 'sort' => $sort, ], ]);