Files
crowd-fund-api/tests/Service/UserServiceTest.php
Pep Villalonga Amorósanddaniel.subiabre 0bc664a224 feat: generate random user handles with random-name-generator (#256)
* feat: generate random user handles with random-name-generator

* feat: use random-name-combiner for user handles

* feat: use random-name-generator Combination for user handles

* chore: update composer.lock for random-name-generator Combination

* feat: use Platoniq package

* feat: centralise user handle validation in UserHandle constraint

* feat: use platoniq/random-name-generator v1.0

* feat: increase uniqueness test size to 128 samples

---------

Co-authored-by: Daniel Subiabre <daniel.subiabre@platoniq.net>
2026-10-20 16:23:25 +02:00

37 lines
960 B
PHP

<?php
namespace App\Tests\Service;
use App\Service\UserService;
use App\Validator\UserHandle;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
use Symfony\Component\Validator\Validator\ValidatorInterface;
use Zenstruck\Foundry\Test\ResetDatabase;
class UserServiceTest extends KernelTestCase
{
use ResetDatabase;
public function testGeneratesValidUniqueHandles()
{
self::bootKernel();
/** @var UserService */
$userService = static::getContainer()->get(UserService::class);
/** @var ValidatorInterface */
$validator = static::getContainer()->get(ValidatorInterface::class);
$handles = [];
for ($i = 0; $i < 128; ++$i) {
$handle = $userService->generateHandle();
$this->assertCount(0, $validator->validate($handle, new UserHandle()));
$handles[] = $handle;
}
$this->assertSameSize($handles, \array_unique($handles));
}
}