diff --git a/src/Controller/EntityResource.php b/src/Controller/EntityResource.php index 0fe20a8..e0e025b 100644 --- a/src/Controller/EntityResource.php +++ b/src/Controller/EntityResource.php @@ -942,7 +942,7 @@ class EntityResource { * * @param \Drupal\jsonapi\JsonApiResource\ResourceObjectData $primary_data * The collection of entities. - * @param \Drupal\jsonapi\JsonApiResource\IncludedData $includes + * @param \Drupal\jsonapi\JsonApiResource\IncludedData|\Drupal\jsonapi\JsonApiResource\NullData $includes * The resources to be included in the document. * @param \Symfony\Component\HttpFoundation\Request $request * The request object. @@ -954,7 +954,7 @@ class EntityResource { * @return \Drupal\jsonapi\ResourceResponse * The response. */ - protected function respondWithCollection(ResourceObjectData $primary_data, IncludedData $includes, Request $request, ResourceType $resource_type, OffsetPage $page_param) { + protected function respondWithCollection(ResourceObjectData $primary_data, Data $includes, Request $request, ResourceType $resource_type, OffsetPage $page_param) { assert(Inspector::assertAllObjects([$includes], IncludedData::class, NullData::class)); $link_context = [ 'has_next_page' => $primary_data->hasNextPage(), diff --git a/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php b/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php index 1282822..08a3e81 100644 --- a/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php +++ b/tests/src/Kernel/Normalizer/JsonApiDocumentTopLevelNormalizerTest.php @@ -13,6 +13,7 @@ use Drupal\jsonapi\JsonApiResource\LinkCollection; use Drupal\jsonapi\JsonApiResource\NullData; use Drupal\jsonapi\JsonApiResource\ResourceObject; use Drupal\jsonapi\JsonApiResource\JsonApiDocumentTopLevel; +use Drupal\jsonapi\JsonApiResource\ResourceObjectData; use Drupal\node\Entity\Node; use Drupal\node\Entity\NodeType; use Drupal\taxonomy\Entity\Term; @@ -216,7 +217,7 @@ class JsonApiDocumentTopLevelNormalizerTest extends JsonapiKernelTestBase { $jsonapi_doc_object = $this ->getNormalizer() ->normalize( - new JsonApiDocumentTopLevel($resource_object, $includes, new LinkCollection([])), + new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), $includes, new LinkCollection([])), 'api_json', [ 'resource_type' => $resource_type, @@ -343,7 +344,7 @@ class JsonApiDocumentTopLevelNormalizerTest extends JsonapiKernelTestBase { $resource_object = new ResourceObject($resource_type, $this->node); $include_param = 'uid,field_tags'; $includes = $this->includeResolver->resolve($resource_object, $include_param); - $document_wrapper = new JsonApiDocumentTopLevel($resource_object, $includes, new LinkCollection([])); + $document_wrapper = new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), $includes, new LinkCollection([])); $request->query = new ParameterBag([ 'fields' => [ @@ -414,7 +415,7 @@ class JsonApiDocumentTopLevelNormalizerTest extends JsonapiKernelTestBase { public function testNormalizeConfig() { list($request, $resource_type) = $this->generateProphecies('node_type', 'node_type', 'id'); $resource_object = new ResourceObject($resource_type, $this->nodeType); - $document_wrapper = new JsonApiDocumentTopLevel($resource_object, new NullData(), new LinkCollection([])); + $document_wrapper = new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), new NullData(), new LinkCollection([])); $jsonapi_doc_object = $this ->getNormalizer() @@ -692,7 +693,7 @@ class JsonApiDocumentTopLevelNormalizerTest extends JsonapiKernelTestBase { 'resource_type' => $resource_type, 'account' => NULL, ]; - $jsonapi_doc_object = $this->getNormalizer()->normalize(new JsonApiDocumentTopLevel($resource_object, new NullData(), new LinkCollection([])), 'api_json', $context); + $jsonapi_doc_object = $this->getNormalizer()->normalize(new JsonApiDocumentTopLevel(new ResourceObjectData([$resource_object], 1), new NullData(), new LinkCollection([])), 'api_json', $context); $this->assertArraySubset($expected_metadata->getCacheTags(), $jsonapi_doc_object->getCacheTags()); $this->assertArraySubset($expected_metadata->getCacheContexts(), $jsonapi_doc_object->getCacheContexts()); $this->assertSame($expected_metadata->getCacheMaxAge(), $jsonapi_doc_object->getCacheMaxAge());