ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTermsOfServiceStartUpStepTest Class Reference

Class ilTermsOfServiceStartUpStepTest. More...

+ Inheritance diagram for ilTermsOfServiceStartUpStepTest:
+ Collaboration diagram for ilTermsOfServiceStartUpStepTest:

Public Member Functions

 testUserShouldBeForcedToAcceptTermsOfServiceWhenNotDoingItYetInCurrentRequest ()
 
 testUserShouldNotBeForcedToAcceptTermsOfServiceWhenDoingItAlreadyInCurrentRequest ()
 
 userProvider ()
 
 testUserShouldNotBeForcedToAcceptTermsOfServiceWhenAlreadyDone (ilObjUser $user)
 userProvider More...
 
 testUserShouldBeForcedToResignTermsOfService ()
 userProvider More...
 

Additional Inherited Members

- Protected Member Functions inherited from ilTermsOfServiceBaseTest
 setUp ()
 
 getLanguageMock ()
 
 getUiFactoryMock ()
 
 setGlobalVariable (string $name, $value)
 
 getCriterionConfig ($value=null)
 
- Protected Attributes inherited from ilTermsOfServiceBaseTest
Container $dic
 

Detailed Description

Member Function Documentation

◆ testUserShouldBeForcedToAcceptTermsOfServiceWhenNotDoingItYetInCurrentRequest()

ilTermsOfServiceStartUpStepTest::testUserShouldBeForcedToAcceptTermsOfServiceWhenNotDoingItYetInCurrentRequest ( )

Definition at line 32 of file ilTermsOfServiceStartUpStepTest.php.

References ilTermsOfServiceBaseTest\$dic, and $http.

32  : void
33  {
34  $dic = new Container();
35 
36  $ctrl = $this->createMock(ilCtrlInterface::class);
37 
38  $ctrl
39  ->method('getCmdClass')
40  ->willReturn(ilDashboardGUI::class);
41 
42  $ctrl
43  ->method('getCmd')
44  ->willReturn('');
45 
46  $ctrl
47  ->expects($this->once())
48  ->method('redirectToURL');
49  $dic['ilCtrl'] = static function () use ($ctrl): ilCtrlInterface {
50  return $ctrl;
51  };
52 
53  $user = $this
54  ->getMockBuilder(ilObjUser::class)
55  ->disableOriginalConstructor()
56  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
57  ->getMock();
58 
59  $user
60  ->expects($this->atLeast(1))
61  ->method('hasToAcceptTermsOfService')
62  ->willReturn(true);
63 
64  $user
65  ->method('checkTimeLimit')
66  ->willReturn(true);
67 
68  $user
69  ->expects($this->atLeast(1))
70  ->method('hasToAcceptTermsOfServiceInSession')
71  ->willReturn(true);
72  $dic['ilUser'] = static function () use ($user): ilObjUser {
73  return $user;
74  };
75 
76  $request = $this->createMock(ServerRequestInterface::class);
77  $http = $this->createMock(GlobalHttpState::class);
78 
79  $http
80  ->method('request')
81  ->willReturn($request);
82  $dic['http'] = static function () use ($http): GlobalHttpState {
83  return $http;
84  };
85 
86  $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
87  $dic['tos.document.evaluator'] = static function () use ($evaluator): ilTermsOfServiceDocumentEvaluation {
88  return $evaluator;
89  };
90 
91  $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
92  $dic['tos.criteria.type.factory'] = static function () use (
93  $criterionFactory
95  return $criterionFactory;
96  };
97 
98  $requestInterceptor = new ilTermsOfServiceAcceptanceStartUpStep($dic);
99 
100  $this->assertTrue($requestInterceptor->shouldInterceptRequest());
101  $this->assertTrue($requestInterceptor->shouldStoreRequestTarget());
102  $requestInterceptor->execute();
103  }
Interface GlobalHttpState.
Interface ilTermsOfServiceDocumentEvaluation.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:31
$http
Definition: raiseError.php:7

◆ testUserShouldBeForcedToResignTermsOfService()

ilTermsOfServiceStartUpStepTest::testUserShouldBeForcedToResignTermsOfService ( )

userProvider

Definition at line 331 of file ilTermsOfServiceStartUpStepTest.php.

References ilTermsOfServiceBaseTest\$dic, $http, $service, ILIAS\GlobalScreen\Provider\__construct(), and ILIAS\Repository\logger().

331  : void
332  {
333  $logger = $this
334  ->getMockBuilder(ilLogger::class)
335  ->disableOriginalConstructor()
336  ->getMock();
337 
338  $loggingServices = $this
339  ->getMockBuilder(LoggingServices::class)
340  ->disableOriginalConstructor()
341  ->onlyMethods(['root', '__call'])
342  ->getMock();
343  $loggingServices
344  ->method('root')
345  ->willReturn($logger);
346  $loggingServices
347  ->method('__call')
348  ->willReturn($logger);
349 
350  $dic = new class ($loggingServices) extends Container {
351  private LoggingServices $loggingServices;
352 
353  public function __construct(LoggingServices $loggingServices)
354  {
355  $this->loggingServices = $loggingServices;
357  }
358 
359  public function logger(): LoggingServices
360  {
361  return $this->loggingServices;
362  }
363  };
364 
365  $ctrl = $this->createMock(ilCtrlInterface::class);
366 
367  $ctrl
368  ->method('getCmdClass')
369  ->willReturn(ilDashboardGUI::class);
370 
371  $ctrl
372  ->method('getCmd')
373  ->willReturn('');
374  $dic['ilCtrl'] = static function () use ($ctrl): ilCtrlInterface {
375  return $ctrl;
376  };
377 
378  $request = $this->createMock(ServerRequestInterface::class);
379  $http = $this->createMock(GlobalHttpState::class);
380 
381  $http
382  ->method('request')
383  ->willReturn($request);
384  $dic['http'] = static function () use ($http): GlobalHttpState {
385  return $http;
386  };
387 
388  $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
389  $dic['tos.document.evaluator'] = static function () use ($evaluator): ilTermsOfServiceDocumentEvaluation {
390  return $evaluator;
391  };
392 
393  $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
394  $dic['tos.criteria.type.factory'] = static function () use (
395  $criterionFactory
397  return $criterionFactory;
398  };
399 
400  $service = $this
401  ->getMockBuilder(ilTermsOfServiceHelper::class)
402  ->disableOriginalConstructor()
403  ->getMock();
404  $service->expects($this->once())
405  ->method('hasToResignAcceptance')
406  ->willReturn(true);
407  $service->expects($this->once())
408  ->method('resetAcceptance');
409  $dic['tos.service'] = static function () use ($service): ilTermsOfServiceHelper {
410  return $service;
411  };
412 
413  $user = $this
414  ->getMockBuilder(ilObjUser::class)
415  ->disableOriginalConstructor()
416  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
417  ->getMock();
418  $user
419  ->method('hasToAcceptTermsOfService')
420  ->willReturn(false);
421  $user
422  ->method('checkTimeLimit')
423  ->willReturn(true);
424  $user
425  ->method('hasToAcceptTermsOfServiceInSession')
426  ->willReturn(true);
427  $dic['ilUser'] = static function () use ($user): ilObjUser {
428  return $user;
429  };
430 
431  $requestInterceptor = new ilTermsOfServiceAcceptanceStartUpStep($dic);
432 
433  $this->assertTrue($requestInterceptor->shouldInterceptRequest());
434  }
Interface GlobalHttpState.
Provides fluid interface to LoggingServices.
Interface ilTermsOfServiceDocumentEvaluation.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:31
$http
Definition: raiseError.php:7
Class ilTermsOfServiceHelper.
__construct(Container $dic, ilPlugin $plugin)
$service
Definition: ltiservices.php:43
+ Here is the call graph for this function:

◆ testUserShouldNotBeForcedToAcceptTermsOfServiceWhenAlreadyDone()

ilTermsOfServiceStartUpStepTest::testUserShouldNotBeForcedToAcceptTermsOfServiceWhenAlreadyDone ( ilObjUser  $user)

userProvider

Parameters
ilObjUser$user

Definition at line 239 of file ilTermsOfServiceStartUpStepTest.php.

References ilTermsOfServiceBaseTest\$dic, $http, $service, ILIAS\GlobalScreen\Provider\__construct(), and ILIAS\Repository\logger().

239  : void
240  {
241  $logger = $this
242  ->getMockBuilder(ilLogger::class)
243  ->disableOriginalConstructor()
244  ->getMock();
245 
246  $loggingServices = $this
247  ->getMockBuilder(LoggingServices::class)
248  ->disableOriginalConstructor()
249  ->onlyMethods(['root', '__call'])
250  ->getMock();
251  $loggingServices
252  ->method('root')
253  ->willReturn($logger);
254  $loggingServices
255  ->method('__call')
256  ->willReturn($logger);
257 
258  $dic = new class ($loggingServices) extends Container {
259  private LoggingServices $loggingServices;
260 
261  public function __construct(LoggingServices $loggingServices)
262  {
263  $this->loggingServices = $loggingServices;
265  }
266 
267  public function logger(): LoggingServices
268  {
269  return $this->loggingServices;
270  }
271  };
272 
273  $ctrl = $this->createMock(ilCtrlInterface::class);
274 
275  $ctrl
276  ->method('getCmdClass')
277  ->willReturn(ilDashboardGUI::class);
278 
279  $ctrl
280  ->method('getCmd')
281  ->willReturn('');
282  $dic['ilCtrl'] = static function () use ($ctrl): ilCtrlInterface {
283  return $ctrl;
284  };
285 
286  $request = $this->createMock(ServerRequestInterface::class);
287  $http = $this->createMock(GlobalHttpState::class);
288 
289  $http
290  ->method('request')
291  ->willReturn($request);
292  $dic['http'] = static function () use ($http): GlobalHttpState {
293  return $http;
294  };
295 
296  $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
297  $dic['tos.document.evaluator'] = static function () use ($evaluator): ilTermsOfServiceDocumentEvaluation {
298  return $evaluator;
299  };
300 
301  $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
302  $dic['tos.criteria.type.factory'] = static function () use (
303  $criterionFactory
305  return $criterionFactory;
306  };
307 
308  $service = $this
309  ->getMockBuilder(ilTermsOfServiceHelper::class)
310  ->disableOriginalConstructor()
311  ->getMock();
312  $service
313  ->method('hasToResignAcceptance')
314  ->willReturn(false);
315  $dic['tos.service'] = static function () use ($service): ilTermsOfServiceHelper {
316  return $service;
317  };
318 
319  $dic['ilUser'] = static function () use ($user): ilObjUser {
320  return $user;
321  };
322 
323  $requestInterceptor = new ilTermsOfServiceAcceptanceStartUpStep($dic);
324 
325  $this->assertFalse($requestInterceptor->shouldInterceptRequest());
326  }
Interface GlobalHttpState.
Provides fluid interface to LoggingServices.
Interface ilTermsOfServiceDocumentEvaluation.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:31
$http
Definition: raiseError.php:7
Class ilTermsOfServiceHelper.
__construct(Container $dic, ilPlugin $plugin)
$service
Definition: ltiservices.php:43
+ Here is the call graph for this function:

◆ testUserShouldNotBeForcedToAcceptTermsOfServiceWhenDoingItAlreadyInCurrentRequest()

ilTermsOfServiceStartUpStepTest::testUserShouldNotBeForcedToAcceptTermsOfServiceWhenDoingItAlreadyInCurrentRequest ( )

Definition at line 105 of file ilTermsOfServiceStartUpStepTest.php.

References ilTermsOfServiceBaseTest\$dic, and $http.

105  : void
106  {
107  $dic = new Container();
108 
109  $ctrl = $this->createMock(ilCtrlInterface::class);
110 
111  $ctrl
112  ->expects($this->atLeast(1))
113  ->method('getCmdClass')
114  ->willReturn(ilStartUpGUI::class);
115 
116  $ctrl
117  ->expects($this->atLeast(1))
118  ->method('getCmd')
119  ->willReturn('getacceptance');
120  $dic['ilCtrl'] = static function () use ($ctrl): ilCtrlInterface {
121  return $ctrl;
122  };
123 
124  $user = $this
125  ->getMockBuilder(ilObjUser::class)
126  ->disableOriginalConstructor()
127  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
128  ->getMock();
129 
130  $user
131  ->method('hasToAcceptTermsOfService')
132  ->willReturn(true);
133 
134  $user
135  ->method('checkTimeLimit')
136  ->willReturn(true);
137 
138  $user
139  ->method('hasToAcceptTermsOfServiceInSession')
140  ->willReturn(true);
141  $dic['ilUser'] = static function () use ($user): ilObjUser {
142  return $user;
143  };
144 
145  $request = $this->createMock(ServerRequestInterface::class);
146  $http = $this->createMock(GlobalHttpState::class);
147 
148  $http
149  ->method('request')
150  ->willReturn($request);
151  $dic['http'] = static function () use ($http): GlobalHttpState {
152  return $http;
153  };
154 
155  $evaluator = $this->createMock(ilTermsOfServiceDocumentEvaluation::class);
156  $dic['tos.document.evaluator'] = static function () use ($evaluator): ilTermsOfServiceDocumentEvaluation {
157  return $evaluator;
158  };
159 
160  $criterionFactory = $this->createMock(ilTermsOfServiceCriterionTypeFactoryInterface::class);
161  $dic['tos.criteria.type.factory'] = static function () use (
162  $criterionFactory
164  return $criterionFactory;
165  };
166 
167  $requestInterceptor = new ilTermsOfServiceAcceptanceStartUpStep($dic);
168 
169  $this->assertFalse($requestInterceptor->shouldInterceptRequest());
170  }
Interface GlobalHttpState.
Interface ilTermsOfServiceDocumentEvaluation.
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:31
$http
Definition: raiseError.php:7

◆ userProvider()

ilTermsOfServiceStartUpStepTest::userProvider ( )

Definition at line 172 of file ilTermsOfServiceStartUpStepTest.php.

172  : array
173  {
174  $user1 = $this
175  ->getMockBuilder(ilObjUser::class)
176  ->disableOriginalConstructor()
177  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
178  ->getMock();
179 
180  $user1
181  ->method('hasToAcceptTermsOfService')
182  ->willReturn(false);
183 
184  $user1
185  ->method('checkTimeLimit')
186  ->willReturn(true);
187 
188  $user1
189  ->method('hasToAcceptTermsOfServiceInSession')
190  ->willReturn(true);
191 
192  $user2 = $this
193  ->getMockBuilder(ilObjUser::class)
194  ->disableOriginalConstructor()
195  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
196  ->getMock();
197 
198  $user2
199  ->method('hasToAcceptTermsOfService')
200  ->willReturn(true);
201 
202  $user2
203  ->method('checkTimeLimit')
204  ->willReturn(false);
205 
206  $user2
207  ->method('hasToAcceptTermsOfServiceInSession')
208  ->willReturn(true);
209 
210  $user3 = $this
211  ->getMockBuilder(ilObjUser::class)
212  ->disableOriginalConstructor()
213  ->onlyMethods(['hasToAcceptTermsOfService', 'checkTimeLimit', 'hasToAcceptTermsOfServiceInSession'])
214  ->getMock();
215 
216  $user3
217  ->method('hasToAcceptTermsOfService')
218  ->willReturn(true);
219 
220  $user3
221  ->method('checkTimeLimit')
222  ->willReturn(true);
223 
224  $user3
225  ->method('hasToAcceptTermsOfServiceInSession')
226  ->willReturn(false);
227 
228  return [
229  'User 1' => [$user1],
230  'User 2' => [$user2],
231  'User 3' => [$user3],
232  ];
233  }

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