From cb80db2a31472cad72c38eea995a968ee8fcce78 Mon Sep 17 00:00:00 2001 From: cmorenov1402 Date: Fri, 28 Mar 2025 12:30:50 +0100 Subject: [PATCH] Add get all on page test --- tests/Entity/ProjectApi/GetAllTest.php | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/tests/Entity/ProjectApi/GetAllTest.php b/tests/Entity/ProjectApi/GetAllTest.php index 7fee014..feb1284 100644 --- a/tests/Entity/ProjectApi/GetAllTest.php +++ b/tests/Entity/ProjectApi/GetAllTest.php @@ -22,6 +22,8 @@ class GetAllTest extends ApiTestCase private const BASE_URI = '/v4/projects'; private const METHOD = 'GET'; + private const PAGE_SIZE = 30; + public function setUp(): void { self::bootKernel(); @@ -71,6 +73,31 @@ class GetAllTest extends ApiTestCase $this->assertCount($numberOfProjects, $responseData['member']); } + private function getMinNumInPage($page = 1) + { + return self::PAGE_SIZE * ($page - 1); + } + + public function testGetAllOnPage(): void + { + $owner = UserFactory::createOne([ + 'email' => self::USER_EMAIL, + 'password' => self::USER_PASSWORD, + ]); + $page = 2; + $numberOfProjectsInPage = self::PAGE_SIZE / 2; + $numberOfProjectsTotal = $this->getMinNumInPage($page) + $numberOfProjectsInPage; + ProjectFactory::createMany($numberOfProjectsTotal, ['owner' => $owner]); + + $client = static::createClient(); + $client->request(self::METHOD, self::BASE_URI."?page=$page", $this->getHeaders($client)); + + $this->assertResponseIsSuccessful(); + + $responseData = json_decode($client->getResponse()->getContent(), true); + $this->assertCount(max($numberOfProjectsInPage, 0), $responseData['member']); + } + public function testGetAllUnauthorized(): void { static::createClient()->request(self::METHOD, self::BASE_URI);