ILIAS  release_8 Revision v8.24
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...
 
 testDocumentModelCanBeCreatedByIdWithAttachedCriteriaBeingRead (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
Container $dic
 

Detailed Description

Member Function Documentation

◆ criteriaAssignmentProvider()

ilTermsOfServiceDocumentTest::criteriaAssignmentProvider ( )

Definition at line 29 of file ilTermsOfServiceDocumentTest.php.

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

References ilTermsOfServiceBaseTest\getCriterionConfig().

+ Here is the call graph for this function:

◆ testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently()

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

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment&MockObject$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment&MockObject$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment&MockObject$criterionAssignment3

Definition at line 259 of file ilTermsOfServiceDocumentTest.php.

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

Definition at line 218 of file ilTermsOfServiceDocumentTest.php.

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

◆ testCriteriaCanBeDetachedFromDocument()

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

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3

Definition at line 237 of file ilTermsOfServiceDocumentTest.php.

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

◆ testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead()

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

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3

Definition at line 99 of file ilTermsOfServiceDocumentTest.php.

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

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

+ Here is the call graph for this function:

◆ testDocumentModelCanBeCreatedByIdWithAttachedCriteriaBeingRead()

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

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3

Definition at line 152 of file ilTermsOfServiceDocumentTest.php.

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

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteria()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteria ( )

Definition at line 330 of file ilTermsOfServiceDocumentTest.php.

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

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds ( )

Definition at line 378 of file ilTermsOfServiceDocumentTest.php.

378 : void
379 {
380 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
381
382 $criterionAssignment1 = $this
383 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
384 ->disableOriginalConstructor()
385 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
386 ->addMethods(['getId'])
387 ->getMock();
388
389 $criterionAssignment1
390 ->method('getId')
391 ->willReturn(1);
392
393 $criterionAssignment1
394 ->method('getCriterionId')
395 ->willReturn('usr_global_role');
396
397 $criterionAssignment1
398 ->method('getCriterionValue')
399 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
400
401 $criterionAssignment2 = $this
402 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
403 ->disableOriginalConstructor()
404 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
405 ->addMethods(['getId'])
406 ->getMock();
407
408 $criterionAssignment2
409 ->method('getId')
410 ->willReturn(2);
411
412 $criterionAssignment2
413 ->method('getCriterionId')
414 ->willReturn('usr_global_role');
415
416 $criterionAssignment2
417 ->method('getCriterionValue')
418 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
419
420 $document = new ilTermsOfServiceDocument();
421
422 $document->attachCriterion($criterionAssignment1);
423 $document->attachCriterion($criterionAssignment2);
424 }

◆ testExceptionIsRaisedWhenRemovingUnknownCriterion()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenRemovingUnknownCriterion ( )

Definition at line 426 of file ilTermsOfServiceDocumentTest.php.

426 : void
427 {
428 $this->expectException(OutOfBoundsException::class);
429
430 $criterionAssignment1 = $this
431 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
432 ->disableOriginalConstructor()
433 ->onlyMethods(['getCriterionValue', 'getCriterionId'])
434 ->addMethods(['getId'])
435 ->getMock();
436
437 $criterionAssignment1
438 ->method('getId')
439 ->willReturn(1);
440
441 $criterionAssignment1
442 ->method('getCriterionId')
443 ->willReturn('usr_global_role');
444
445 $criterionAssignment1
446 ->method('getCriterionValue')
447 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
448
449 $document = new ilTermsOfServiceDocument();
450
451 $document->detachCriterion($criterionAssignment1);
452 }

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