public function testWhenNoItems_emptyListIsReturned() { $useCase = TestEnvironment::newInstance()->getFactory()->newListItemsUseCase(); $request = new ItemListingRequest(); $request->setPerPage(100); $request->setPage(1); $this->assertEquals(new ItemList([]), $useCase->listItems($request)); }
public function getResult(Request $request) { $listingRequest = new ItemListingRequest(); // TODO: strict validation of arguments $listingRequest->setPerPage((int) $request->get('per_page', 100)); $listingRequest->setPage((int) $request->get('page', 1)); $items = $this->apiFactory->newListItemsUseCase()->listItems($listingRequest); $response = $this->app->json($this->apiFactory->newItemListSerializer()->serialize($items)); (new PaginationHeaderSetter($response->headers))->setHeaders($request->getUriForPath('/items'), $listingRequest, count($items->getElements())); return $response; }