+
+
Un message a atteint la dead-letter queue après avoir épuisé toutes ses tentatives de retry.
+
+
+
+ Type d'événement
+ {{ eventType }}
+
+
+
+ Nombre de tentatives
+ {{ retryCount }}
+
+
+
+ Transport
+ {{ transportName }}
+
+
+
+ Dernière erreur :
+ {{ lastError }}
+
+
+
+ Utilisez la commande app:messenger:review-failed pour inspecter et rejouer les messages échoués.
+
+
+
+
+
+
diff --git a/backend/tests/Unit/Administration/Domain/Model/User/UserTest.php b/backend/tests/Unit/Administration/Domain/Model/User/UserTest.php
index 547dfd6..9c644bc 100644
--- a/backend/tests/Unit/Administration/Domain/Model/User/UserTest.php
+++ b/backend/tests/Unit/Administration/Domain/Model/User/UserTest.php
@@ -94,6 +94,7 @@ final class UserTest extends TestCase
$user->activer('$argon2id$hashed', new DateTimeImmutable(), $this->consentementPolicy);
$this->expectException(CompteNonActivableException::class);
+ $this->expectExceptionMessage('Ce compte est déjà actif.');
$user->activer('$argon2id$another', new DateTimeImmutable(), $this->consentementPolicy);
}
diff --git a/backend/tests/Unit/Administration/Infrastructure/Console/CreateTestActivationTokenCommandTest.php b/backend/tests/Unit/Administration/Infrastructure/Console/CreateTestActivationTokenCommandTest.php
new file mode 100644
index 0000000..d6223b4
--- /dev/null
+++ b/backend/tests/Unit/Administration/Infrastructure/Console/CreateTestActivationTokenCommandTest.php
@@ -0,0 +1,199 @@
+ */
+ private array $dispatchedEvents = [];
+ private MessageBusInterface $eventBus;
+ private CommandTester $commandTester;
+
+ protected function setUp(): void
+ {
+ $this->activationTokenRepository = new InMemoryActivationTokenRepository();
+ $this->passwordResetTokenRepository = new InMemoryPasswordResetTokenRepository();
+ $this->userRepository = new InMemoryUserRepository();
+ $this->clock = new class implements Clock {
+ public function now(): DateTimeImmutable
+ {
+ return new DateTimeImmutable('2026-02-08 10:00:00');
+ }
+ };
+
+ $tenantId = InfraTenantId::fromString(self::TENANT_ID);
+ $this->tenantRegistry = new InMemoryTenantRegistry([
+ new TenantConfig($tenantId, self::SUBDOMAIN, 'postgresql://localhost/test'),
+ ]);
+
+ $dispatchedEvents = &$this->dispatchedEvents;
+ $this->eventBus = new class($dispatchedEvents) implements MessageBusInterface {
+ /** @param list