Spaces:
No application file
No application file
File size: 2,685 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
<?php
namespace Mautic\EmailBundle\Tests\MonitoredEmail\Organizer;
use Mautic\EmailBundle\MonitoredEmail\Accessor\ConfigAccessor;
use Mautic\EmailBundle\MonitoredEmail\Mailbox;
use Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer;
class MailboxContainerTest extends \PHPUnit\Framework\TestCase
{
protected $config = [
'imap_path' => 'path',
'user' => 'user',
'host' => 'host',
'folder' => 'folder',
];
/**
* @testdox Container's path should be config's path for services that don't have access
* to the config but need to set the path
*
* @covers \Mautic\EmailBundle\MonitoredEmail\Accessor\ConfigAccessor::getPath
* @covers \Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer::getPath
*/
public function testPathMatches(): void
{
$configAccessor = new ConfigAccessor($this->config);
$mailboxContainer = new MailboxContainer($configAccessor);
$this->assertEquals($configAccessor->getPath(), $mailboxContainer->getPath());
}
/**
* @testdox Criteria should be returned correctly
*
* @covers \Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer::addCriteria
* @covers \Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer::getCriteria
*/
public function testCriteriaIsSetAsExpected(): void
{
$configAccessor = new ConfigAccessor($this->config);
$mailboxContainer = new MailboxContainer($configAccessor);
$criteria = [
Mailbox::CRITERIA_ALL => [
'mailbox1',
'mailbox2',
],
Mailbox::CRITERIA_UNANSWERED => [
'mailbox2',
],
];
$mailboxContainer->addCriteria(Mailbox::CRITERIA_ALL, 'mailbox1');
$mailboxContainer->addCriteria(Mailbox::CRITERIA_ALL, 'mailbox2');
$mailboxContainer->addCriteria(Mailbox::CRITERIA_UNANSWERED, 'mailbox2');
$this->assertEquals($criteria, $mailboxContainer->getCriteria());
}
/**
* @testdox Keep as unseen flag should be correctly returned when set
*
* @covers \Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer::keepAsUnseen
* @covers \Mautic\EmailBundle\MonitoredEmail\Organizer\MailboxContainer::shouldMarkAsSeen
*/
public function testUnseenFlagIsReturnedAsExpected(): void
{
$configAccessor = new ConfigAccessor($this->config);
$mailboxContainer = new MailboxContainer($configAccessor);
$mailboxContainer->keepAsUnseen();
$this->assertFalse($mailboxContainer->shouldMarkAsSeen());
}
}
|