Files
ludikevent_crm/tests/Service/Mailer/MailerSubscriberTest.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

51 lines
1.5 KiB
PHP

<?php
namespace App\Tests\Service\Mailer;
use App\Entity\Account;
use App\Service\Mailer\Event\CreatedAdminEvent;
use App\Service\Mailer\Mailer;
use App\Service\Mailer\MailerSubscriber;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
class MailerSubscriberTest extends TestCase
{
public function testOnAdminEvent(): void
{
$urlGenerator = $this->createMock(UrlGeneratorInterface::class);
$mailer = $this->createMock(Mailer::class);
$subscriber = new MailerSubscriber($urlGenerator, $mailer);
$account = $this->createStub(Account::class);
$account->method('getEmail')->willReturn('test@example.com');
$account->method('getUsername')->willReturn('testuser');
$password = 'secret';
$event = new CreatedAdminEvent($account, $password);
$urlGenerator->expects($this->once())
->method('generate')
->with('app_home')
->willReturn('http://example.com/home');
$mailer->expects($this->once())
->method('send')
->with(
'test@example.com',
'testuser',
"[LudikEvent] - Création d'un compte administrateur",
"mails/new_admin.twig",
[
'username' => 'testuser',
'password' => 'secret',
'url' => 'http://example.com/home',
]
);
$subscriber->onAdminEvent($event);
}
}