ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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)
 criteriaAssignmentProvider More...
 
 testDocumentModelCanBeCreatedByIdWithAttachedCriteriaBeingRead (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 criteriaAssignmentProvider More...
 
 testCriteriaCanBeAttachedToDocument (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 criteriaAssignmentProvider More...
 
 testCriteriaCanBeDetachedFromDocument (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 criteriaAssignmentProvider More...
 
 testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently (ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
 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.

References ilTermsOfServiceBaseTest\getCriterionConfig().

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  }
+ Here is the call graph for this function:

◆ testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently()

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

criteriaAssignmentProvider

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

Definition at line 259 of file ilTermsOfServiceDocumentTest.php.

References arConnectorMap\register(), and ActiveRecord\store().

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.
+ Here is the call graph for this function:

◆ testCriteriaCanBeAttachedToDocument()

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

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  }
Class ilTermsOfServiceDocument.

◆ testCriteriaCanBeDetachedFromDocument()

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

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  }
Class ilTermsOfServiceDocument.

◆ testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead()

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

criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3

Definition at line 99 of file ilTermsOfServiceDocumentTest.php.

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

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  }
static register(ActiveRecord $ar, arConnector $connector)
Class ilTermsOfServiceDocument.
+ Here is the call graph for this function:

◆ testDocumentModelCanBeCreatedByIdWithAttachedCriteriaBeingRead()

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

criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3

Definition at line 152 of file ilTermsOfServiceDocumentTest.php.

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

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  }
static register(ActiveRecord $ar, arConnector $connector)
Class ilTermsOfServiceDocument.
+ Here is the call graph for this function:

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteria()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteria ( )

Definition at line 330 of file ilTermsOfServiceDocumentTest.php.

References ilTermsOfServiceBaseTest\getCriterionConfig().

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  }
Class ilTermsOfServiceDocument.
+ Here is the call graph for this function:

◆ testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds ( )

Definition at line 378 of file ilTermsOfServiceDocumentTest.php.

References ilTermsOfServiceBaseTest\getCriterionConfig().

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  }
Class ilTermsOfServiceDocument.
+ Here is the call graph for this function:

◆ testExceptionIsRaisedWhenRemovingUnknownCriterion()

ilTermsOfServiceDocumentTest::testExceptionIsRaisedWhenRemovingUnknownCriterion ( )

Definition at line 426 of file ilTermsOfServiceDocumentTest.php.

References ilTermsOfServiceBaseTest\getCriterionConfig().

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  }
Class ilTermsOfServiceDocument.
+ Here is the call graph for this function:

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