ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTermsOfServiceRequestTargetAdjustmentCaseTest.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 
3 /* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
6 
12 {
17  {
18  $ctrl = $this
19  ->getMockBuilder(ilCtrl::class)
20  ->disableOriginalConstructor()
21  ->setMethods(['redirectToURL', 'getCmdClass', 'getCmd'])
22  ->getMock();
23 
24  $ctrl
25  ->expects($this->any())
26  ->method('getCmdClass')
27  ->willReturn('ilDashboardGUI');
28 
29  $ctrl
30  ->expects($this->any())
31  ->method('getCmd')
32  ->willReturn('');
33 
34  $ctrl
35  ->expects($this->once())
36  ->method('redirectToURL');
37 
38  $user = $this
39  ->getMockBuilder(ilObjUser::class)
40  ->disableOriginalConstructor()
41  ->setMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
42  ->getMock();
43 
44  $user
45  ->expects($this->atLeast(1))
46  ->method('hasToAcceptTermsOfService')
47  ->willReturn(true);
48 
49  $user
50  ->expects($this->atLeast(1))
51  ->method('checkTimeLimit')
52  ->willReturn(true);
53 
54  $user
55  ->expects($this->atLeast(1))
56  ->method('hasToAcceptTermsOfServiceInSession')
57  ->willReturn(true);
58 
59  $request = $this
60  ->getMockBuilder(ServerRequestInterface::class)
61  ->disableOriginalConstructor()
62  ->getMock();
63 
64  $requestInterceptor = new ilTermsOfServiceRequestTargetAdjustmentCase($user, $ctrl, $request);
65 
66  $this->assertTrue($requestInterceptor->shouldAdjustRequest());
67  $this->assertTrue($requestInterceptor->shouldStoreRequestTarget());
68  $requestInterceptor->adjust();
69  }
70 
75  {
76  $ctrl = $this
77  ->getMockBuilder(ilCtrl::class)
78  ->disableOriginalConstructor()
79  ->setMethods(['getCmdClass', 'getCmd'])
80  ->getMock();
81 
82  $ctrl
83  ->expects($this->atLeast(1))
84  ->method('getCmdClass')
85  ->willReturn('ilstartupgui');
86 
87  $ctrl
88  ->expects($this->atLeast(1))
89  ->method('getCmd')
90  ->willReturn('getacceptance');
91 
92  $user = $this
93  ->getMockBuilder(ilObjUser::class)
94  ->disableOriginalConstructor()
95  ->setMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
96  ->getMock();
97 
98  $user
99  ->expects($this->any())
100  ->method('hasToAcceptTermsOfService')
101  ->willReturn(true);
102 
103  $user
104  ->expects($this->any())
105  ->method('checkTimeLimit')
106  ->willReturn(true);
107 
108  $user
109  ->expects($this->any())
110  ->method('hasToAcceptTermsOfServiceInSession')
111  ->willReturn(true);
112 
113  $request = $this
114  ->getMockBuilder(ServerRequestInterface::class)
115  ->disableOriginalConstructor()
116  ->getMock();
117 
118  $requestInterceptor = new ilTermsOfServiceRequestTargetAdjustmentCase($user, $ctrl, $request);
119 
120  $this->assertFalse($requestInterceptor->shouldAdjustRequest());
121  }
122 
127  public function userProvider() : array
128  {
129  $user1 = $this
130  ->getMockBuilder(ilObjUser::class)
131  ->disableOriginalConstructor()
132  ->setMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
133  ->getMock();
134 
135  $user1
136  ->expects($this->any())
137  ->method('hasToAcceptTermsOfService')
138  ->willReturn(false);
139 
140  $user1
141  ->expects($this->any())
142  ->method('checkTimeLimit')
143  ->willReturn(true);
144 
145  $user1
146  ->expects($this->any())
147  ->method('hasToAcceptTermsOfServiceInSession')
148  ->willReturn(true);
149 
150  $user2 = $this
151  ->getMockBuilder(ilObjUser::class)
152  ->disableOriginalConstructor()
153  ->setMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
154  ->getMock();
155 
156  $user2
157  ->expects($this->any())
158  ->method('hasToAcceptTermsOfService')
159  ->willReturn(true);
160 
161  $user2
162  ->expects($this->any())
163  ->method('checkTimeLimit')
164  ->willReturn(false);
165 
166  $user2
167  ->expects($this->any())
168  ->method('hasToAcceptTermsOfServiceInSession')
169  ->willReturn(true);
170 
171  $user3 = $this
172  ->getMockBuilder(ilObjUser::class)
173  ->disableOriginalConstructor()
174  ->setMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
175  ->getMock();
176 
177  $user3
178  ->expects($this->any())
179  ->method('hasToAcceptTermsOfService')
180  ->willReturn(true);
181 
182  $user3
183  ->expects($this->any())
184  ->method('checkTimeLimit')
185  ->willReturn(true);
186 
187  $user3
188  ->expects($this->any())
189  ->method('hasToAcceptTermsOfServiceInSession')
190  ->willReturn(false);
191 
192  return [
193  'User 1' => [$user1],
194  'User 2' => [$user2],
195  'User 3' => [$user3],
196  ];
197  }
198 
205  {
206  $ctrl = $this
207  ->getMockBuilder(ilCtrl::class)
208  ->disableOriginalConstructor()
209  ->setMethods(['getCmdClass', 'getCmd'])
210  ->getMock();
211 
212  $ctrl
213  ->expects($this->any())
214  ->method('getCmdClass')
215  ->willReturn('ilDashboardGUI');
216 
217  $ctrl
218  ->expects($this->any())
219  ->method('getCmd')
220  ->willReturn('');
221 
222  $request = $this
223  ->getMockBuilder(ServerRequestInterface::class)
224  ->disableOriginalConstructor()
225  ->getMock();
226 
227  $requestInterceptor = new ilTermsOfServiceRequestTargetAdjustmentCase($user, $ctrl, $request);
228 
229  $this->assertFalse($requestInterceptor->shouldAdjustRequest());
230  }
231 }
Class ilTermsOfServiceBaseTest.