| Current Path : /var/git/cesa-v3/cesa-v3/tests/MailQueueBundle/ |
| Current File : /var/git/cesa-v3/cesa-v3/tests/MailQueueBundle/MailQueueServiceTest.php |
<?php
namespace App\Tests\MailQueueBundle;
use App\MailQueueBundle\Entity\BulkMailToSend;
use App\MailQueueBundle\Service\MailQueueService;
use PHPUnit\Framework\TestCase;
class MailQueueServiceTest extends TestCase
{
public function testAggregateSendCountsCastsValues(): void
{
$this->assertSame(
['pending' => 5, 'sent' => 10, 'failed' => 2],
MailQueueService::aggregateSendCounts(['pending' => '5', 'sent' => 10, 'failed' => '2'])
);
}
public function testAggregateSendCountsDefaultsMissingKeysToZero(): void
{
$this->assertSame(
['pending' => 0, 'sent' => 0, 'failed' => 0],
MailQueueService::aggregateSendCounts([])
);
}
public function testStatusLabelMapping(): void
{
$this->assertSame('Pending', MailQueueService::statusLabel(BulkMailToSend::STATUS_PENDING));
$this->assertSame('Sent', MailQueueService::statusLabel(BulkMailToSend::STATUS_SENT));
$this->assertSame('Failed', MailQueueService::statusLabel(BulkMailToSend::STATUS_FAILED));
$this->assertSame('Pending', MailQueueService::statusLabel(99));
}
public function testStatusCssClassMapping(): void
{
$this->assertSame('warning', MailQueueService::statusCssClass(BulkMailToSend::STATUS_PENDING));
$this->assertSame('success', MailQueueService::statusCssClass(BulkMailToSend::STATUS_SENT));
$this->assertSame('danger', MailQueueService::statusCssClass(BulkMailToSend::STATUS_FAILED));
}
}