Add get all by title test

This commit is contained in:
cmorenov1402
2025-03-31 09:55:01 +02:00
parent 1ac9def285
commit 3b71f662f4
+27 -4
View File
@@ -42,16 +42,17 @@ class GetAllTest extends ApiTestCase
]);
}
private function createTestProjectOptimized(int $count)
private function createTestProjectOptimized(int $count, array $attributes = [])
{
$owner = $this->createTestUser();
$territory = new ProjectTerritory('ES');
// It passes an attributes already created because memory management is critical here
ProjectFactory::createMany($count, [
$mergedAttributes = array_merge([
'owner' => $owner,
'territory' => $territory,
]);
], $attributes);
ProjectFactory::createMany($count, $mergedAttributes);
}
private function getHeaders(Client $client)
@@ -145,6 +146,28 @@ class GetAllTest extends ApiTestCase
$this->entityManager->clear();
}
public function testGetAllByTitle()
{
$title = 'Free Software Project';
$owner = $this->createTestUser();
$territory = new ProjectTerritory('ES');
$baseAttributes = [
'owner' => $owner,
'territory' => $territory,
];
$searchCount = 2;
ProjectFactory::createMany($searchCount, array_merge(['title' => $title], $baseAttributes));
ProjectFactory::createOne(array_merge(['title' => 'Educational Project'], $baseAttributes));
$client = static::createClient();
$client->request(self::METHOD, self::BASE_URI."?title=$title", $this->getHeaders($client));
$this->assertResponseIsSuccessful();
$responseData = json_decode($client->getResponse()->getContent(), true);
$this->assertCount($searchCount, $responseData['member']);
}
public function testGetAllUnauthorized(): void
{
static::createClient()->request(self::METHOD, self::BASE_URI);