✨ 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] ```
51 lines
1.5 KiB
PHP
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);
|
|
}
|
|
}
|