1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace SilverStripe\StaticPublishQueue\Test; |
4
|
|
|
|
5
|
|
|
use SilverStripe\Core\Config\Config; |
6
|
|
|
use SilverStripe\Dev\SapphireTest; |
7
|
|
|
use SilverStripe\StaticPublishQueue\Event\StaticPagesQueueEvent; |
8
|
|
|
use SilverStripe\StaticPublishQueue\Exception\StaticPagesQueueEventException; |
9
|
|
|
use SilverStripe\StaticPublishQueue\Model\StaticPagesQueue; |
10
|
|
|
use SilverStripe\StaticPublishQueue\Test\StaticPagesQueueEventTest\Contract\TestingEventListener; |
11
|
|
|
use SilverStripe\StaticPublishQueue\Test\StaticPagesQueueEventTest\Contract\TestingEventListenerMissing; |
12
|
|
|
use SilverStripe\StaticPublishQueue\Test\StaticPagesQueueEventTest\Event\EventTestClass; |
13
|
|
|
use SilverStripe\StaticPublishQueue\Test\StaticPagesQueueEventTest\Listener\EventTestClassImplementator; |
14
|
|
|
|
15
|
|
|
/** |
16
|
|
|
* This is a Unittest class for EventTest |
17
|
|
|
*/ |
18
|
|
|
class StaticPagesQueueEventTest extends SapphireTest |
19
|
|
|
{ |
20
|
|
|
protected function setUp() |
21
|
|
|
{ |
22
|
|
|
parent::setUp(); |
23
|
|
|
StaticPagesQueueEvent::clear(); |
24
|
|
|
Config::modify()->set(StaticPagesQueue::class, 'realtime', true); |
25
|
|
|
} |
26
|
|
|
|
27
|
|
|
/** |
28
|
|
|
* @expectedException StaticPagesQueueEventException |
29
|
|
|
*/ |
30
|
|
|
public function testRegisterEventWithNonExistingInterface() |
31
|
|
|
{ |
32
|
|
|
StaticPagesQueueEvent::register_event(EventTestClassImplementator::class, 'apa'); |
33
|
|
|
} |
34
|
|
|
|
35
|
|
|
/** |
36
|
|
|
* @expectedException StaticPagesQueueEventException |
37
|
|
|
*/ |
38
|
|
|
public function testRegisterEventWithNonExistingEventhandler() |
39
|
|
|
{ |
40
|
|
|
StaticPagesQueueEvent::register_event('apa', TestingEventListener::class); |
41
|
|
|
} |
42
|
|
|
|
43
|
|
|
/** |
44
|
|
|
* @expectedException StaticPagesQueueEventException |
45
|
|
|
*/ |
46
|
|
|
public function testRegisterEventNoImplementators() |
47
|
|
|
{ |
48
|
|
|
StaticPagesQueueEvent::register_event(EventTestClass::class, TestingEventListenerMissing::class); |
49
|
|
|
} |
50
|
|
|
|
51
|
|
|
public function testRegisterEvent() |
52
|
|
|
{ |
53
|
|
|
// @todo - make an assertion |
54
|
|
|
StaticPagesQueueEvent::register_event(EventTestClass::class, TestingEventListener::class); |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
/** |
58
|
|
|
* @expectedException StaticPagesQueueEventException |
59
|
|
|
*/ |
60
|
|
|
public function testFireEventNoEventClassRegistered() |
61
|
|
|
{ |
62
|
|
|
StaticPagesQueueEvent::trigger_events_during_testing(true); |
63
|
|
|
$this->setExpectedException(StaticPagesQueueEventException::class); |
|
|
|
|
64
|
|
|
// @todo - confirm what assertion should be made here |
65
|
|
|
$this->assertTrue(StaticPagesQueueEvent::fire_event(new EventTestClass())); |
66
|
|
|
} |
67
|
|
|
|
68
|
|
|
public function testFireEvent() |
69
|
|
|
{ |
70
|
|
|
StaticPagesQueueEvent::trigger_events_during_testing(true); |
71
|
|
|
StaticPagesQueueEvent::register_event(EventTestClass::class, TestingEventListener::class); |
72
|
|
|
$this->assertTrue(StaticPagesQueueEvent::fire_event(new EventTestClass())); |
73
|
|
|
} |
74
|
|
|
|
75
|
|
|
public function testTriggerEventsDuringTesting() |
76
|
|
|
{ |
77
|
|
|
StaticPagesQueueEvent::trigger_events_during_testing(false); |
78
|
|
|
StaticPagesQueueEvent::register_event(EventTestClass::class, TestingEventListener::class); |
79
|
|
|
$this->assertFalse(StaticPagesQueueEvent::fire_event(new EventTestClass())); |
80
|
|
|
} |
81
|
|
|
} |
82
|
|
|
|
This method has been deprecated. The supplier of the class has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.