Spaces:
No application file
No application file
File size: 1,583 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 |
<?php
namespace Mautic\ReportBundle\Tests\Scheduler\Builder;
use Mautic\ReportBundle\Scheduler\Builder\SchedulerDailyBuilder;
use Mautic\ReportBundle\Scheduler\Entity\SchedulerEntity;
use Mautic\ReportBundle\Scheduler\Enum\SchedulerEnum;
use Mautic\ReportBundle\Scheduler\Exception\InvalidSchedulerException;
use Recurr\Exception\InvalidArgument;
use Recurr\Rule;
class SchedulerDailyBuilderTest extends \PHPUnit\Framework\TestCase
{
public function testBuilEvent(): void
{
$schedulerDailyBuilder = new SchedulerDailyBuilder();
$schedulerEntity = new SchedulerEntity(true, SchedulerEnum::UNIT_DAILY, null, null);
$startDate = (new \DateTime())->setTime(0, 0)->modify('+1 day');
$rule = new Rule();
$rule->setStartDate($startDate)
->setCount(1);
$schedulerDailyBuilder->build($rule, $schedulerEntity);
$this->assertEquals(Rule::$freqs['DAILY'], $rule->getFreq());
}
public function testBuilEventFails(): void
{
$schedulerDailyBuilder = new SchedulerDailyBuilder();
$schedulerEntity = new SchedulerEntity(true, SchedulerEnum::UNIT_DAILY, null, null);
$rule = $this->getMockBuilder(Rule::class)
->disableOriginalConstructor()
->getMock();
$rule->expects($this->once())
->method('setFreq')
->with('DAILY')
->willThrowException(new InvalidArgument());
$this->expectException(InvalidSchedulerException::class);
$schedulerDailyBuilder->build($rule, $schedulerEntity);
}
}
|