Tests PHP corriges (66 failures resolus) : - DocuSealServiceTest : ajout LoggerInterface dans constructeur - FactureServiceTest : ajout LoggerInterface 3e arg - RgpdServiceTest : ajout MailerService 4e arg - StatsControllerTest : ajout EntityManagerInterface + mock QueryBuilder - AdminControllersTest : StatsController + SyncController args - SyncControllerTest : ajout MeilisearchService 6e arg - WebhookStripeControllerTest : ajout 6 args constructeur manquants - EspacesControllersTest : ajout DevisRepository + DocuSealService - TarificationServiceTest : count 16->19, rename esyweb->esite - OrderNumberServiceTest : expected values -00011->-00010 - KeycloakAuthenticatorTest : domaine @e-cosplay.fr + groups - EmailTrackingControllerTest : logo_facture.png -> logo.jpg - DevisPdfControllerTest : var/uploads -> public/uploads - DevisTest : getAdverts() -> getLines() - CustomerTest : prefixe 411_ -> EC- - LegalControllerTest : mock sendVerificationCode - TwoFactorCodeMailerTest : subject E-Cosplay - KeycloakAdminServiceTest : 10 groupes requis - MailerServiceTest : Association E-Cosplay Tests JS corriges et ajoutes (23->39) : - Fix localStorage mock (happy-dom) - Rewrite data-confirm pour modal glassmorphism - Ajout tests modal open/close (data-modal-open/close) - Ajout tests recherche SIRET via proxy - Ajout test refuse toggle button Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48 lines
1.7 KiB
PHP
48 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Tests\Security;
|
|
|
|
use App\Security\TwoFactorCodeMailer;
|
|
use PHPUnit\Framework\TestCase;
|
|
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
|
|
use Symfony\Component\Mailer\MailerInterface;
|
|
use Symfony\Component\Mime\Email;
|
|
use Twig\Environment;
|
|
|
|
class TwoFactorCodeMailerTest extends TestCase
|
|
{
|
|
private MailerInterface $mailer;
|
|
private Environment $twig;
|
|
private TwoFactorCodeMailer $twoFactorCodeMailer;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->mailer = $this->createMock(MailerInterface::class);
|
|
$this->twig = $this->createMock(Environment::class);
|
|
$this->twoFactorCodeMailer = new TwoFactorCodeMailer($this->mailer, $this->twig);
|
|
}
|
|
|
|
public function testSendAuthCode(): void
|
|
{
|
|
$user = $this->createStub(TwoFactorInterface::class);
|
|
$user->method('getEmailAuthCode')->willReturn('123456');
|
|
$user->method('getEmailAuthRecipient')->willReturn('test@example.com');
|
|
|
|
$this->twig->expects($this->once())
|
|
->method('render')
|
|
->with('emails/2fa_code.html.twig', ['code' => '123456'])
|
|
->willReturn('<html>123456</html>');
|
|
|
|
$this->mailer->expects($this->once())
|
|
->method('send')
|
|
->with($this->callback(function (Email $email) {
|
|
return $email->getFrom()[0]->getAddress() === 'contact@e-cosplay.fr'
|
|
&& $email->getTo()[0]->getAddress() === 'test@example.com'
|
|
&& $email->getSubject() === 'CRM E-Cosplay - Code de verification'
|
|
&& $email->getHtmlBody() === '<html>123456</html>';
|
|
}));
|
|
|
|
$this->twoFactorCodeMailer->sendAuthCode($user);
|
|
}
|
|
}
|