Files
ludikevent_crm/tests/Security/PasswordGeneratorTest.php
Serreau Jovann 0be752c145 ```
 feat(revervation): [Ajoute la création de session de réservation et le flow]
🐛 fix(PurgeCommandTest): [Utilise addCommand au lieu de add pour les commandes]
📝 chore(deps): [Mise à jour des dépendances Composer et corrections]
🐛 fix(KeycloakAuthenticator): [Corrige le type nullable de l'exception start]
 feat(Customer): [Ajoute les sessions de commandes aux entités Customer]
♻️ refactor(AppLogger): [Refactorise l'AppLogger pour obtenir l'UserAgent]
 feat(FlowReserve): [Ajoute une action de validation du panier]
```
2026-01-31 13:49:25 +01:00

37 lines
1.1 KiB
PHP

<?php
namespace App\Tests\Security;
use App\Security\PasswordGenerator;
use PHPUnit\Framework\Attributes\AllowMockObjectsWithoutExpectations;
use PHPUnit\Framework\TestCase;
#[AllowMockObjectsWithoutExpectations]
class PasswordGeneratorTest extends TestCase
{
public function testGenerateLength()
{
$generator = new PasswordGenerator(16);
$password = $generator->generate();
$this->assertEquals(16, strlen($password));
}
public function testGenerateContainsRequiredCharacters()
{
$generator = new PasswordGenerator(12);
$password = $generator->generate();
$this->assertMatchesRegularExpression('/[a-z]/', $password);
$this->assertMatchesRegularExpression('/[A-Z]/', $password);
$this->assertMatchesRegularExpression('/[0-9]/', $password);
$this->assertMatchesRegularExpression('/[@#_\-]/', $password);
}
public function testInvalidLengthThrowsException()
{
$this->expectException(\InvalidArgumentException::class);
new PasswordGenerator(3);
}
}