1 | <?php |
||
2 | |||
3 | namespace Mautic\ReportBundle\Tests\Scheduler\Builder; |
||
4 | |||
5 | use Mautic\ReportBundle\Scheduler\Builder\SchedulerBuilder; |
||
6 | use Mautic\ReportBundle\Scheduler\Entity\SchedulerEntity; |
||
7 | use Mautic\ReportBundle\Scheduler\Enum\SchedulerEnum; |
||
8 | use Mautic\ReportBundle\Scheduler\Exception\InvalidSchedulerException; |
||
9 | use Mautic\ReportBundle\Scheduler\Factory\SchedulerTemplateFactory; |
||
10 | use Recurr\Recurrence; |
||
11 | use Recurr\RecurrenceCollection; |
||
12 | |||
13 | class SchedulerBuilderTest extends \PHPUnit\Framework\TestCase |
||
14 | { |
||
15 | public function testGetNextEvent() |
||
16 | { |
||
17 | $schedulerTemplateFactory = new SchedulerTemplateFactory(); |
||
18 | $schedulerBuilder = new SchedulerBuilder($schedulerTemplateFactory); |
||
19 | |||
20 | $schedulerEntity = new SchedulerEntity(true, SchedulerEnum::UNIT_DAILY, null, null); |
||
21 | |||
22 | $events = $schedulerBuilder->getNextEvent($schedulerEntity); |
||
23 | |||
24 | $this->assertInstanceOf(RecurrenceCollection::class, $events); |
||
25 | |||
26 | $event = $events[0]; |
||
27 | $this->assertInstanceOf(Recurrence::class, $event); |
||
28 | |||
29 | $expectedDate = (new \DateTime())->setTime(0, 0)->modify('+1 day'); |
||
30 | $this->assertEquals($expectedDate, $event->getStart()); |
||
0 ignored issues
–
show
|
|||
31 | } |
||
32 | |||
33 | public function testGetNextEvents() |
||
34 | { |
||
35 | $schedulerTemplateFactory = new SchedulerTemplateFactory(); |
||
36 | $schedulerBuilder = new SchedulerBuilder($schedulerTemplateFactory); |
||
37 | |||
38 | $schedulerEntity = new SchedulerEntity(true, SchedulerEnum::UNIT_DAILY, null, null); |
||
39 | |||
40 | $events = $schedulerBuilder->getNextEvents($schedulerEntity, 3); |
||
41 | |||
42 | $this->assertInstanceOf(RecurrenceCollection::class, $events); |
||
43 | |||
44 | $event = $events[0]; |
||
45 | $this->assertInstanceOf(Recurrence::class, $event); |
||
46 | |||
47 | $expectedDate = (new \DateTime())->setTime(0, 0)->modify('+1 day'); |
||
48 | $this->assertEquals($expectedDate, $event->getStart()); |
||
49 | |||
50 | $event = $events[1]; |
||
51 | $expectedDate->modify('+1 day'); |
||
52 | $this->assertEquals($expectedDate, $event->getStart()); |
||
53 | |||
54 | $event = $events[2]; |
||
55 | $expectedDate->modify('+1 day'); |
||
56 | $this->assertEquals($expectedDate, $event->getStart()); |
||
57 | } |
||
58 | |||
59 | public function testNoScheduler() |
||
60 | { |
||
61 | $schedulerTemplateFactory = new SchedulerTemplateFactory(); |
||
62 | $schedulerBuilder = new SchedulerBuilder($schedulerTemplateFactory); |
||
63 | |||
64 | $SchedulerEntity = new SchedulerEntity(false, SchedulerEnum::UNIT_DAILY, null, null); |
||
65 | |||
66 | $this->expectException(InvalidSchedulerException::class); |
||
67 | |||
68 | $schedulerBuilder->getNextEvent($SchedulerEntity); |
||
69 | } |
||
70 | } |
||
71 |
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.
This is most likely a typographical error or the method has been renamed.