ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
ilCtrlEventTest Class Reference
+ Inheritance diagram for ilCtrlEventTest:
+ Collaboration diagram for ilCtrlEventTest:

Public Member Functions

 testObserverAttachment ()
 
 testNotifyEvents ()
 

Protected Member Functions

 setUp ()
 

Private Member Functions

 getMockedCtrl (?ilCtrlSubject $subject=null)
 Helper function that returns an ilCtrl instance with mocked dependencies. More...
 

Private Attributes

ilCtrlSubject $subject
 

Detailed Description

Author
Fabian Schmid fabia.nosp@m.n@sr.nosp@m..solu.nosp@m.tion.nosp@m.s

Definition at line 31 of file ilCtrlEventTest.php.

Member Function Documentation

◆ getMockedCtrl()

ilCtrlEventTest::getMockedCtrl ( ?ilCtrlSubject  $subject = null)
private

Helper function that returns an ilCtrl instance with mocked dependencies.

Definition at line 113 of file ilCtrlEventTest.php.

Referenced by testNotifyEvents(), and testObserverAttachment().

114  {
115  return new ilCtrl(
116  $this->createMock(ilCtrlStructureInterface::class),
117  $this->createMock(ilCtrlTokenRepositoryInterface::class),
118  $this->createMock(ilCtrlPathFactoryInterface::class),
119  $this->createMock(ilCtrlContextInterface::class),
120  $this->createMock(ResponseSenderStrategy::class),
121  $this->createMock(ServerRequestInterface::class),
122  $this->createMock(RequestWrapper::class),
123  $this->createMock(RequestWrapper::class),
124  $this->createMock(Refinery::class),
125  $this->createMock(ilComponentFactory::class),
126  $subject ?? $this->subject
127  );
128  }
ilCtrlSubject $subject
+ Here is the caller graph for this function:

◆ setUp()

ilCtrlEventTest::setUp ( )
protected

Definition at line 35 of file ilCtrlEventTest.php.

35  : void
36  {
37  $this->subject = new ilCtrlSubject();
38  }

◆ testNotifyEvents()

ilCtrlEventTest::testNotifyEvents ( )

Definition at line 88 of file ilCtrlEventTest.php.

References ALL, and getMockedCtrl().

88  : void
89  {
90  require_once __DIR__ . '/Data/GUI/class.ilCtrlBaseClass1TestGUI.php';
91  $base_class = new ilCtrlBaseClass1TestGUI();
92 
93  $mocked_ilctrl = $this->getMockedCtrl();
94 
95  $mocked_observer = $this->createMock(ilCtrlObserver::class);
96  $mocked_ilctrl->attachObserver($mocked_observer, ilCtrlEvent::ALL);
97 
98  $mocked_observer->expects($this->exactly(2))
99  ->method('update')
100  ->withConsecutive(
101  [ilCtrlEvent::COMMAND_CLASS_FORWARD, ilCtrlBaseClass1TestGUI::class],
102  [ilCtrlEvent::COMMAND_DETERMINATION, 'fallback']
103  );
104 
105  $mocked_ilctrl->forwardCommand($base_class);
106  $command = $mocked_ilctrl->getCmd('fallback');
107  }
getMockedCtrl(?ilCtrlSubject $subject=null)
Helper function that returns an ilCtrl instance with mocked dependencies.
event string being used if
Class ilCtrlBaseClass1TestGUI.
+ Here is the call graph for this function:

◆ testObserverAttachment()

ilCtrlEventTest::testObserverAttachment ( )

Definition at line 40 of file ilCtrlEventTest.php.

References ALL, and getMockedCtrl().

40  : void
41  {
42  // Default Attachment
43  $mocked_observer = $this->createMock(ilCtrlObserver::class);
44  $mocked_subject = $this->createMock(ilCtrlSubject::class);
45  $mocked_ilctrl = $this->getMockedCtrl($mocked_subject);
46  $mocked_subject->expects($this->once())
47  ->method('attach')
48  ->with($mocked_observer, ilCtrlEvent::ALL);
49 
50  $mocked_ilctrl->attachObserver($mocked_observer);
51 
52  $mocked_subject->expects($this->once())
53  ->method('detach')
54  ->with($mocked_observer, ilCtrlEvent::ALL);
55  $mocked_ilctrl->detachObserver($mocked_observer);
56 
57  // Command Class Attachment
58  $mocked_observer = $this->createMock(ilCtrlObserver::class);
59  $mocked_subject = $this->createMock(ilCtrlSubject::class);
60  $mocked_ilctrl = $this->getMockedCtrl($mocked_subject);
61  $mocked_subject->expects($this->once())
62  ->method('attach')
63  ->with($mocked_observer, ilCtrlEvent::COMMAND_CLASS_FORWARD);
64 
65  $mocked_ilctrl->attachObserver($mocked_observer, ilCtrlEvent::COMMAND_CLASS_FORWARD);
66 
67  $mocked_subject->expects($this->once())
68  ->method('detach')
69  ->with($mocked_observer, ilCtrlEvent::COMMAND_CLASS_FORWARD);
70  $mocked_ilctrl->detachObserver($mocked_observer, ilCtrlEvent::COMMAND_CLASS_FORWARD);
71 
72  // Command Determination Attachment
73  $mocked_observer = $this->createMock(ilCtrlObserver::class);
74  $mocked_subject = $this->createMock(ilCtrlSubject::class);
75  $mocked_ilctrl = $this->getMockedCtrl($mocked_subject);
76  $mocked_subject->expects($this->once())
77  ->method('attach')
78  ->with($mocked_observer, ilCtrlEvent::COMMAND_DETERMINATION);
79 
80  $mocked_ilctrl->attachObserver($mocked_observer, ilCtrlEvent::COMMAND_DETERMINATION);
81 
82  $mocked_subject->expects($this->once())
83  ->method('detach')
84  ->with($mocked_observer, ilCtrlEvent::COMMAND_DETERMINATION);
85  $mocked_ilctrl->detachObserver($mocked_observer, ilCtrlEvent::COMMAND_DETERMINATION);
86  }
getMockedCtrl(?ilCtrlSubject $subject=null)
Helper function that returns an ilCtrl instance with mocked dependencies.
event string being used if
+ Here is the call graph for this function:

Field Documentation

◆ $subject

ilCtrlSubject ilCtrlEventTest::$subject
private

Definition at line 33 of file ilCtrlEventTest.php.


The documentation for this class was generated from the following file: