Ce commit introduit une nouvelle fonctionnalité permettant de créer un compte administrateur via une commande console et d'envoyer un mot de passe temporaire par email. Les changements incluent: - Ajout d'une commande `AccountCommand` pour créer un compte administrateur. - Création d'un service `TempPasswordGenerator` pour générer des mots de passe temporaires aléatoires. - Ajout d'un événement `CreatedAdminEvent` pour déclencher l'envoi d'email après la création d'un administrateur. - Modification du subscriber `MailerSubscriber` pour utiliser le nouveau template email et inclure le mot de passe temporaire. - Création d'un nouveau template email `mails/artemis/new_admin.twig` pour l'envoi du mot de passe temporaire. - Ajout de tests unitaires pour l'entité `Mail` et le repository `MailRepository`. - Suppression de code commenté inutile dans `MailRepository`. - Correction d'un bug dans `Mailer.php` pour passer les données au template twig. - Mise à jour de la configuration `messenger.yaml` (suppression d'une ligne inutile).
44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Tests\Entity;
|
|
|
|
use App\Entity\Mail;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class MailTest extends TestCase
|
|
{
|
|
public function testMailEntity(): void
|
|
{
|
|
$mail = new Mail();
|
|
|
|
// Test messageId property
|
|
$messageId = 'test_message_id_123';
|
|
$mail->setMessageId($messageId);
|
|
$this->assertSame($messageId, $mail->getMessageId());
|
|
|
|
// Test status property
|
|
$status = 'sent';
|
|
$mail->setStatus($status);
|
|
$this->assertSame($status, $mail->getStatus());
|
|
|
|
// Test dest property
|
|
$dest = 'recipient@example.com';
|
|
$mail->setDest($dest);
|
|
$this->assertSame($dest, $mail->getDest());
|
|
|
|
// Test subject property
|
|
$subject = 'Test Subject';
|
|
$mail->setSubject($subject);
|
|
$this->assertSame($subject, $mail->getSubject());
|
|
|
|
// Test content property
|
|
$content = 'This is the test email content.';
|
|
$mail->setContent($content);
|
|
$this->assertSame($content, $mail->getContent());
|
|
|
|
// Test getId() - should be null initially as it's auto-generated by the database
|
|
$this->assertNull($mail->getId());
|
|
}
|
|
}
|
|
|