feat(mail) : MailConfiguration entity + repository + singleton test
This commit is contained in:
50
tests/Unit/Repository/MailConfigurationRepositoryTest.php
Normal file
50
tests/Unit/Repository/MailConfigurationRepositoryTest.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Tests\Unit\Repository;
|
||||
|
||||
use App\Entity\MailConfiguration;
|
||||
use App\Repository\MailConfigurationRepository;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
class MailConfigurationRepositoryTest extends KernelTestCase
|
||||
{
|
||||
private MailConfigurationRepository $repository;
|
||||
private EntityManagerInterface $em;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
self::bootKernel();
|
||||
$container = static::getContainer();
|
||||
$this->repository = $container->get(MailConfigurationRepository::class);
|
||||
$this->em = $container->get('doctrine.orm.entity_manager');
|
||||
$this->em->getConnection()->executeStatement('TRUNCATE TABLE mail_configuration RESTART IDENTITY CASCADE');
|
||||
}
|
||||
|
||||
public function testFindSingletonReturnsNullWhenEmpty(): void
|
||||
{
|
||||
$result = $this->repository->findSingleton();
|
||||
|
||||
self::assertNull($result);
|
||||
}
|
||||
|
||||
public function testFindSingletonReturnsFirstRecord(): void
|
||||
{
|
||||
$config = new MailConfiguration();
|
||||
$config->setImapHost('ssl0.ovh.net');
|
||||
$config->setEnabled(false);
|
||||
$this->em->persist($config);
|
||||
$this->em->flush();
|
||||
|
||||
$result = $this->repository->findSingleton();
|
||||
|
||||
self::assertInstanceOf(MailConfiguration::class, $result);
|
||||
self::assertSame('ssl0.ovh.net', $result->getImapHost());
|
||||
self::assertFalse($result->isEnabled());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user