mirror of
https://github.com/maelgangloff/domain-watchdog.git
synced 2025-12-17 09:45:29 +00:00
test: add test for FinDomainCollectionFromEntityProvider
This commit is contained in:
parent
9cd51b8cb8
commit
43e2746bbe
@ -12,7 +12,7 @@ use App\Exception\MalformedDomainException;
|
|||||||
use App\Repository\DomainRepository;
|
use App\Repository\DomainRepository;
|
||||||
use App\Service\RDAPService;
|
use App\Service\RDAPService;
|
||||||
use App\State\AutoRegisterDomainProvider;
|
use App\State\AutoRegisterDomainProvider;
|
||||||
use App\State\FindDomainListFromEntityProvider;
|
use App\State\FindDomainCollectionFromEntityProvider;
|
||||||
use Doctrine\Common\Collections\ArrayCollection;
|
use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Collection;
|
use Doctrine\Common\Collections\Collection;
|
||||||
use Doctrine\DBAL\Types\Types;
|
use Doctrine\DBAL\Types\Types;
|
||||||
@ -42,7 +42,7 @@ use Symfony\Component\Serializer\Attribute\SerializedName;
|
|||||||
'event:list',
|
'event:list',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
provider: FindDomainListFromEntityProvider::class,
|
provider: FindDomainCollectionFromEntityProvider::class,
|
||||||
parameters: [
|
parameters: [
|
||||||
'registrant' => new QueryParameter(description: 'The exact name of the registrant (case insensitive)', required: true),
|
'registrant' => new QueryParameter(description: 'The exact name of the registrant (case insensitive)', required: true),
|
||||||
]
|
]
|
||||||
|
|||||||
@ -10,7 +10,7 @@ use Doctrine\ORM\EntityManagerInterface;
|
|||||||
use Doctrine\ORM\Query\ResultSetMapping;
|
use Doctrine\ORM\Query\ResultSetMapping;
|
||||||
use Symfony\Component\HttpFoundation\RequestStack;
|
use Symfony\Component\HttpFoundation\RequestStack;
|
||||||
|
|
||||||
readonly class FindDomainListFromEntityProvider implements ProviderInterface
|
readonly class FindDomainCollectionFromEntityProvider implements ProviderInterface
|
||||||
{
|
{
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private RequestStack $requestStack,
|
private RequestStack $requestStack,
|
||||||
@ -8,11 +8,9 @@ use App\Factory\UserFactory;
|
|||||||
use App\Tests\AuthenticatedUserTrait;
|
use App\Tests\AuthenticatedUserTrait;
|
||||||
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
|
use Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface;
|
||||||
use Zenstruck\Foundry\Test\Factories;
|
use Zenstruck\Foundry\Test\Factories;
|
||||||
use Zenstruck\Foundry\Test\ResetDatabase;
|
|
||||||
|
|
||||||
final class MeControllerTest extends ApiTestCase
|
final class MeControllerTest extends ApiTestCase
|
||||||
{
|
{
|
||||||
use ResetDatabase;
|
|
||||||
use Factories;
|
use Factories;
|
||||||
use AuthenticatedUserTrait;
|
use AuthenticatedUserTrait;
|
||||||
|
|
||||||
|
|||||||
@ -7,11 +7,9 @@ use App\Factory\UserFactory;
|
|||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\DependencyInjection\ContainerInterface;
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
||||||
use Zenstruck\Foundry\Test\Factories;
|
use Zenstruck\Foundry\Test\Factories;
|
||||||
use Zenstruck\Foundry\Test\ResetDatabase;
|
|
||||||
|
|
||||||
final class RegistrationControllerTest extends ApiTestCase
|
final class RegistrationControllerTest extends ApiTestCase
|
||||||
{
|
{
|
||||||
use ResetDatabase;
|
|
||||||
use Factories;
|
use Factories;
|
||||||
|
|
||||||
protected static ContainerInterface $container;
|
protected static ContainerInterface $container;
|
||||||
|
|||||||
35
tests/State/FindDomainCollectionFromEntityProviderTest.php
Normal file
35
tests/State/FindDomainCollectionFromEntityProviderTest.php
Normal 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']);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user