ILIAS  release_7 Revision v7.30-3-g800a261c036
ilTermsOfServiceDocumentTest Class Reference

Class ilTermsOfServiceDocumentTest. More...

+ Inheritance diagram for ilTermsOfServiceDocumentTest:
+ Collaboration diagram for ilTermsOfServiceDocumentTest:

Public Member Functions

 criteriaAssignmentProvider ()
 
 testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 @dataProvider criteriaAssignmentProvider More...
 
 testDocumentModelCanCreatedByIdWithAttachedCriteriaBeingRead (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 @dataProvider criteriaAssignmentProvider More...
 
 testCriteriaCanBeAttachedToDocument (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 @dataProvider criteriaAssignmentProvider More...
 
 testCriteriaCanBeDetachedFromDocument (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 @dataProvider criteriaAssignmentProvider More...
 
 testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 @dataProvider criteriaAssignmentProvider More...
 
 testExceptionIsRaisedWhenAttachingDuplicateCriteria ()
 
 testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds ()
 
 testExceptionIsRaisedWhenRemovingUnknownCriterion ()
 

Additional Inherited Members

- Protected Member Functions inherited from ilTermsOfServiceCriterionBaseTest
 getRbacReviewMock ()
 
 getObjectDataCacheMock ()
 
 getRadioGroupMock ()
 
 getFormMock ()
 
 getUserMock ()
 
- Protected Member Functions inherited from ilTermsOfServiceBaseTest
 setUp ()
 
 getLanguageMock ()
 
 getUiFactoryMock ()
 
 setGlobalVariable (string $name, $value)
 
 getCriterionConfig ($value=null)
 
- Protected Attributes inherited from ilTermsOfServiceBaseTest
 $dic
 

Detailed Description

Member Function Documentation

◆ criteriaAssignmentProvider()

ilTermsOfServiceDocumentTest::criteriaAssignmentProvider ( )
Returns
array
Exceptions
ReflectionException

Definition at line 14 of file ilTermsOfServiceDocumentTest.php.

14 : array
15 {
16 $criterionAssignment1 = $this
17 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
18 ->disableOriginalConstructor()
19 ->onlyMethods(['getCriterionValue', 'getCriterionId', 'store', 'delete'])
20 ->addMethods(['getId'])
21 ->getMock();
22
23 $criterionAssignment1
24 ->expects($this->any())
25 ->method('getId')
26 ->willReturn(1);
27
28 $criterionAssignment1
29 ->expects($this->any())
30 ->method('getCriterionId')
31 ->willReturn('usr_global_role');
32
33 $criterionAssignment1
34 ->expects($this->any())
35 ->method('getCriterionValue')
36 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
37
38 $criterionAssignment2 = $this
39 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
40 ->disableOriginalConstructor()
41 ->onlyMethods(['getCriterionValue', 'getCriterionId', 'store', 'delete'])
42 ->addMethods(['getId'])
43 ->getMock();
44
45 $criterionAssignment2
46 ->expects($this->any())
47 ->method('getId')
48 ->willReturn(2);
49
50 $criterionAssignment2
51 ->expects($this->any())
52 ->method('getCriterionId')
53 ->willReturn('usr_language');
54
55 $criterionAssignment2
56 ->expects($this->any())
57 ->method('getCriterionValue')
58 ->willReturn($this->getCriterionConfig(['lng' => 'de']));
59
60 $criterionAssignment3 = $this
61 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
62 ->disableOriginalConstructor()
63 ->onlyMethods(['getCriterionValue', 'getCriterionId', 'store', 'delete'])
64 ->addMethods(['getId'])
65 ->getMock();
66
67 $criterionAssignment3
68 ->expects($this->any())
69 ->method('getId')
70 ->willReturn(3);
71
72 $criterionAssignment3
73 ->expects($this->any())
74 ->method('getCriterionId')
75 ->willReturn('usr_global_role');
76
77 $criterionAssignment3
78 ->expects($this->any())
79 ->method('getCriterionValue')
80 ->willReturn($this->getCriterionConfig(['role_id' => 6]));
81
82 return [
83 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3]
84 ];
85 }

References ilTermsOfServiceBaseTest\getCriterionConfig().

+ Here is the call graph for this function:

◆ testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently()

ilTermsOfServiceDocumentTest::testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
Exceptions
ReflectionException
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 260 of file ilTermsOfServiceDocumentTest.php.

264 : void {
265 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
266
267 $document = new ilTermsOfServiceDocument();
268
269 $documentConnector
270 ->expects($this->exactly(2))
271 ->method('affectedRows')
272 ->willReturnOnConsecutiveCalls(0, 1);
273
274 $documentConnector
275 ->expects($this->once())
276 ->method('nextId')
277 ->willReturn(1);
278
279 $documentConnector
280 ->expects($this->once())
281 ->method('create');
282
283 arConnectorMap::register($document, $documentConnector);
284
285 $document->attachCriterion($criterionAssignment1);
286 $document->attachCriterion($criterionAssignment2);
287 $document->attachCriterion($criterionAssignment3);
288
289 $criterionAssignment1
290 ->expects($this->exactly(2))
291 ->method('store');
292
293 $criterionAssignment1
294 ->expects($this->once())
295 ->method('delete');
296
297 $criterionAssignment2
298 ->expects($this->once())
299 ->method('store');
300
301 $criterionAssignment2
302 ->expects($this->once())
303 ->method('delete');
304
305 $criterionAssignment3
306 ->expects($this->exactly(2))
307 ->method('store');
308
309 $criterionAssignment3
310 ->expects($this->once())
311 ->method('delete');
312
313 $this->assertCount(3, $document->criteria());
314
315 $document->store(); // 1 / 2 / 3
316
317 $document->detachCriterion($criterionAssignment2);
318
319 $document->store(); // 1 / 3
320
321 $this->assertCount(2, $document->criteria());
322
323 $document->detachCriterion($criterionAssignment1);
324 $document->detachCriterion($criterionAssignment3);
325
326 $this->assertCount(0, $document->criteria());
327
328 $document->delete();
329 }
static register(ActiveRecord $ar, arConnector $connector)
Class ilTermsOfServiceDocument.

◆ testCriteriaCanBeAttachedToDocument()

ilTermsOfServiceDocumentTest::testCriteriaCanBeAttachedToDocument ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
Exceptions
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 215 of file ilTermsOfServiceDocumentTest.php.

219 : void {
220 $document = new ilTermsOfServiceDocument();
221 $document->attachCriterion($criterionAssignment1);
222 $document->attachCriterion($criterionAssignment2);
223 $document->attachCriterion($criterionAssignment3);
224
225 $this->assertCount(3, $document->criteria());
226 }

◆ testCriteriaCanBeDetachedFromDocument()

ilTermsOfServiceDocumentTest::testCriteriaCanBeDetachedFromDocument ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
Exceptions
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 235 of file ilTermsOfServiceDocumentTest.php.

239 : void {
240 $document = new ilTermsOfServiceDocument();
241 $document->attachCriterion($criterionAssignment1);
242 $document->attachCriterion($criterionAssignment2);
243 $document->attachCriterion($criterionAssignment3);
244
245 $this->assertCount(3, $document->criteria());
246
247 $document->detachCriterion($criterionAssignment2);
248
249 $this->assertCount(2, $document->criteria());
250 }

◆ testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead()

ilTermsOfServiceDocumentTest::testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
Exceptions
ReflectionException

Definition at line 94 of file ilTermsOfServiceDocumentTest.php.

98 : void {
99 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
100 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
101
102 $criterionConnector
103 ->expects($this->once())
104 ->method('readSet')
105 ->willReturnCallback(function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
106 return [
107 [
108 'id' => $criterionAssignment1->getId(),
109 'doc_id' => 4711,
110 'criterion_id' => $criterionAssignment1->getCriterionId(),
111 'criterion_value' => $criterionAssignment1->getCriterionValue(),
112 ],
113 [
114 'id' => $criterionAssignment2->getId(),
115 'doc_id' => 4711,
116 'criterion_id' => $criterionAssignment2->getCriterionId(),
117 'criterion_value' => $criterionAssignment2->getCriterionValue(),
118 ],
119 [
120 'id' => $criterionAssignment3->getId(),
121 'doc_id' => 4711,
122 'criterion_id' => $criterionAssignment3->getCriterionId(),
123 'criterion_value' => $criterionAssignment3->getCriterionValue(),
124 ]
125 ];
126 });
127
128 arConnectorMap::register(new ilTermsOfServiceDocument(), $documentConnector);
130
131 $document = new ilTermsOfServiceDocument();
132
133 $document->buildFromArray([
134 'id' => 4711,
135 'title' => 'phpunit',
136 ]);
137
138 $this->assertCount(3, $document->criteria());
139 }

References ilTermsOfServiceDocumentCriterionAssignment\getCriterionId(), and ilTermsOfServiceDocumentCriterionAssignment\getCriterionValue().

+ Here is the call graph for this function:

◆ testDocumentModelCanCreatedByIdWithAttachedCriteriaBeingRead()

ilTermsOfServiceDocumentTest::testDocumentModelCanCreatedByIdWithAttachedCriteriaBeingRead ( ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
Exceptions
ReflectionException

Definition at line 148 of file ilTermsOfServiceDocumentTest.php.

152 : void {
153 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
154 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
155
156 $documentConnector
157 ->expects($this->once())
158 ->method('read')
159 ->willReturnCallback(function () {
160 $object = new stdClass();
161
162 $object->id = 4711;
163 $object->title = 'phpunit';
164 $object->creation_ts = time();
165 $object->modification_ts = time();
166 $object->owner_usr_id = 6;
167 $object->last_modified_usr_id = 6;
168 $object->sorting = 10;
169 $object->text = 'HelloWorld';
170
171 return [$object];
172 });
173
174 $criterionConnector
175 ->expects($this->once())
176 ->method('readSet')
177 ->willReturnCallback(function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
178 return [
179 [
180 'id' => $criterionAssignment1->getId(),
181 'doc_id' => 4711,
182 'criterion_id' => $criterionAssignment1->getCriterionId(),
183 'criterion_value' => $criterionAssignment1->getCriterionValue(),
184 ],
185 [
186 'id' => $criterionAssignment2->getId(),
187 'doc_id' => 4711,
188 'criterion_id' => $criterionAssignment2->getCriterionId(),
189 'criterion_value' => $criterionAssignment2->getCriterionValue(),
190 ],
191 [
192 'id' => $criterionAssignment3->getId(),
193 'doc_id' => 4711,
194 'criterion_id' => $criterionAssignment3->getCriterionId(),
195 'criterion_value' => $criterionAssignment3->getCriterionValue(),
196 ]
197 ];
198 });
199
200 arConnectorMap::register(new ilTermsOfServiceDocument(), $documentConnector);
202
203 $document = new ilTermsOfServiceDocument(4711);
204
205 $this->assertCount(3, $document->criteria());
206 }

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteria()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteria ( )
Exceptions
ReflectionException
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 335 of file ilTermsOfServiceDocumentTest.php.

335 : void
336 {
337 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
338
339 $criterionAssignment1 = $this
340 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
341 ->disableOriginalConstructor()
342 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
343 ->addMethods(['getId'])
344 ->getMock();
345
346 $criterionAssignment1
347 ->expects($this->any())
348 ->method('getId')
349 ->willReturn(0);
350
351 $criterionAssignment1
352 ->expects($this->any())
353 ->method('getCriterionId')
354 ->willReturn('usr_global_role');
355
356 $criterionAssignment1
357 ->expects($this->any())
358 ->method('getCriterionValue')
359 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
360
361 $criterionAssignment2 = $this
362 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
363 ->disableOriginalConstructor()
364 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
365 ->addMethods(['getId'])
366 ->getMock();
367
368 $criterionAssignment2
369 ->expects($this->any())
370 ->method('getId')
371 ->willReturn(0);
372
373 $criterionAssignment2
374 ->expects($this->any())
375 ->method('getCriterionId')
376 ->willReturn('usr_global_role');
377
378 $criterionAssignment2
379 ->expects($this->any())
380 ->method('getCriterionValue')
381 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
382
383 $document = new ilTermsOfServiceDocument();
384
385 $document->attachCriterion($criterionAssignment1);
386 $document->attachCriterion($criterionAssignment2);
387 }

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds ( )
Exceptions
ReflectionException
ilTermsOfServiceDuplicateCriterionAssignmentException

Definition at line 393 of file ilTermsOfServiceDocumentTest.php.

393 : void
394 {
395 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
396
397 $criterionAssignment1 = $this
398 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
399 ->disableOriginalConstructor()
400 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
401 ->addMethods(['getId'])
402 ->getMock();
403
404 $criterionAssignment1
405 ->expects($this->any())
406 ->method('getId')
407 ->willReturn(1);
408
409 $criterionAssignment1
410 ->expects($this->any())
411 ->method('getCriterionId')
412 ->willReturn('usr_global_role');
413
414 $criterionAssignment1
415 ->expects($this->any())
416 ->method('getCriterionValue')
417 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
418
419 $criterionAssignment2 = $this
420 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
421 ->disableOriginalConstructor()
422 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
423 ->addMethods(['getId'])
424 ->getMock();
425
426 $criterionAssignment2
427 ->expects($this->any())
428 ->method('getId')
429 ->willReturn(2);
430
431 $criterionAssignment2
432 ->expects($this->any())
433 ->method('getCriterionId')
434 ->willReturn('usr_global_role');
435
436 $criterionAssignment2
437 ->expects($this->any())
438 ->method('getCriterionValue')
439 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
440
441 $document = new ilTermsOfServiceDocument();
442
443 $document->attachCriterion($criterionAssignment1);
444 $document->attachCriterion($criterionAssignment2);
445 }

◆ testExceptionIsRaisedWhenRemovingUnknownCriterion()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenRemovingUnknownCriterion ( )
Exceptions
ReflectionException

Definition at line 450 of file ilTermsOfServiceDocumentTest.php.

450 : void
451 {
452 $this->expectException(OutOfBoundsException::class);
453
454 $criterionAssignment1 = $this
455 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
456 ->disableOriginalConstructor()
457 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
458 ->addMethods(['getId'])
459 ->getMock();
460
461 $criterionAssignment1
462 ->expects($this->any())
463 ->method('getId')
464 ->willReturn(1);
465
466 $criterionAssignment1
467 ->expects($this->any())
468 ->method('getCriterionId')
469 ->willReturn('usr_global_role');
470
471 $criterionAssignment1
472 ->expects($this->any())
473 ->method('getCriterionValue')
474 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
475
476 $document = new ilTermsOfServiceDocument();
477
478 $document->detachCriterion($criterionAssignment1);
479 }

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