test: add test for FinDomainCollectionFromEntityProvider

This commit is contained in:
Maël Gangloff 2025-10-27 17:40:31 +01:00
parent 9cd51b8cb8
commit 43e2746bbe
No known key found for this signature in database
GPG Key ID: 11FDC81C24A7F629
5 changed files with 38 additions and 7 deletions

View File

@ -12,7 +12,7 @@ use App\Exception\MalformedDomainException;
use App\Repository\DomainRepository;
use App\Service\RDAPService;
use App\State\AutoRegisterDomainProvider;
use App\State\FindDomainListFromEntityProvider;
use App\State\FindDomainCollectionFromEntityProvider;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\DBAL\Types\Types;
@ -42,7 +42,7 @@ use Symfony\Component\Serializer\Attribute\SerializedName;
'event:list',
],
],
provider: FindDomainListFromEntityProvider::class,
provider: FindDomainCollectionFromEntityProvider::class,
parameters: [
'registrant' => new QueryParameter(description: 'The exact name of the registrant (case insensitive)', required: true),
]

View File

@ -10,7 +10,7 @@ use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\Query\ResultSetMapping;
use Symfony\Component\HttpFoundation\RequestStack;
readonly class FindDomainListFromEntityProvider implements ProviderInterface
readonly class FindDomainCollectionFromEntityProvider implements ProviderInterface
{
public function __construct(
private RequestStack $requestStack,

View File

@ -8,11 +8,9 @@ use App\Factory\UserFactory;
use App\Tests\AuthenticatedUserTrait;
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
use Zenstruck\Foundry\Test\Factories;
use Zenstruck\Foundry\Test\ResetDatabase;
final class MeControllerTest extends ApiTestCase
{
use ResetDatabase;
use Factories;
use AuthenticatedUserTrait;

View File

@ -7,11 +7,9 @@ use App\Factory\UserFactory;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Zenstruck\Foundry\Test\Factories;
use Zenstruck\Foundry\Test\ResetDatabase;
final class RegistrationControllerTest extends ApiTestCase
{
use ResetDatabase;
use Factories;
protected static ContainerInterface $container;

View File

@ -0,0 +1,35 @@
<?php
namespace App\Tests\State;
use ApiPlatform\Symfony\Bundle\Test\ApiTestCase;
use App\Entity\Domain;
use App\Factory\UserFactory;
use App\Tests\AuthenticatedUserTrait;
use App\Tests\Service\RDAPServiceTest;
use PHPUnit\Framework\Attributes\DependsExternal;
use Zenstruck\Foundry\Test\Factories;
final class FindDomainCollectionFromEntityProviderTest extends ApiTestCase
{
use Factories;
use AuthenticatedUserTrait;
#[DependsExternal(RDAPServiceTest::class, 'testUpdateRdapServers')]
public function testFilterDomainCollection(): void
{
$client = FindDomainCollectionFromEntityProviderTest::createClientWithCredentials(FindDomainCollectionFromEntityProviderTest::getToken(UserFactory::createOne()));
$client->request('GET', '/api/domains/nic.fr')->toArray();
$this->assertResponseIsSuccessful();
$response = $client->request('GET', '/api/domains', [
'query' => ['registrant' => 'AFNIC'],
]);
$this->assertResponseIsSuccessful();
$this->assertMatchesResourceCollectionJsonSchema(Domain::class);
$data = $response->toArray();
$this->assertArrayHasKey('hydra:member', $data);
$this->assertCount(1, $data['hydra:member']);
}
}