Ce commit introduit la fonctionnalité de réinitialisation du mot de passe pour les utilisateurs. Les modifications apportées sont les suivantes : - Ajout de l'entité `AccountResetPasswordRequest` pour gérer les requêtes de réinitialisation de mot de passe. - Ajout du repository `AccountResetPasswordRequestRepository` pour interagir avec l'entité `AccountResetPasswordRequest`. - Ajout du formulaire `RequestPasswordRequestType` pour permettre aux utilisateurs de demander une réinitialisation de mot de passe. - Ajout de l'événement `ResetPasswordEvent` pour déclencher le processus de réinitialisation du mot de passe. - Ajout de la route `/forgot-password` dans le `HomeController` pour gérer la demande de réinitialisation. - Création des templates twig `admin/forgot-password.twig` et `admin/base.twig` et `form_tailwind.twig` pour la gestion de l'affichage du formulaire et de la base de l'interface admin. - Modification des templates twig `admin/login.twig` pour ajouter un lien vers la page de réinitialisation de mot de passe. - Mise à jour du fichier `assets/app.scss` pour inclure des styles CSS personnalisés. - Ajout de tests unitaires pour l'entité, le repository et le formulaire. - Ajout de la configuration twig pour prendre en charge les formulaires avec tailwind - Ajout des règles d'exclusions sonar dans `sonar-project.properties`
38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Tests\Entity;
|
|
|
|
use App\Entity\Account;
|
|
use App\Entity\AccountResetPasswordRequest;
|
|
use PHPUnit\Framework\TestCase;
|
|
use ReflectionClass;
|
|
|
|
class AccountResetPasswordRequestTest extends TestCase
|
|
{
|
|
public function testEntitySettersAndGetters(): void
|
|
{
|
|
$account = new Account(); // Ou crée un mock si la classe est complexe
|
|
$token = 'reset-token-example';
|
|
$now = new \DateTimeImmutable();
|
|
$expires = $now->modify('+1 hour');
|
|
|
|
$resetRequest = new AccountResetPasswordRequest();
|
|
$resetRequest->setAccount($account);
|
|
$resetRequest->setToken($token);
|
|
$resetRequest->setRequestedAt($now);
|
|
$resetRequest->setExpiresAt($expires);
|
|
|
|
$refClass = new ReflectionClass($resetRequest);
|
|
$idProp = $refClass->getProperty('id');
|
|
$idProp->setAccessible(true);
|
|
$idProp->setValue($resetRequest, 123);
|
|
|
|
$this->assertSame($account, $resetRequest->getAccount());
|
|
$this->assertSame($token, $resetRequest->getToken());
|
|
$this->assertSame($now, $resetRequest->getRequestedAt());
|
|
$this->assertSame($expires, $resetRequest->getExpiresAt());
|
|
$this->assertSame(123, $resetRequest->getId());
|
|
|
|
}
|
|
}
|