1 <?php declare(strict_types=1);
16 $criterionAssignment1 = $this
17 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
18 ->disableOriginalConstructor()
19 ->onlyMethods([
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
20 ->addMethods([
'getId'])
24 ->expects($this->any())
29 ->expects($this->any())
30 ->method(
'getCriterionId')
31 ->willReturn(
'usr_global_role');
34 ->expects($this->any())
35 ->method(
'getCriterionValue')
38 $criterionAssignment2 = $this
39 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
40 ->disableOriginalConstructor()
41 ->onlyMethods([
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
42 ->addMethods([
'getId'])
46 ->expects($this->any())
51 ->expects($this->any())
52 ->method(
'getCriterionId')
53 ->willReturn(
'usr_language');
56 ->expects($this->any())
57 ->method(
'getCriterionValue')
60 $criterionAssignment3 = $this
61 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
62 ->disableOriginalConstructor()
63 ->onlyMethods([
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
64 ->addMethods([
'getId'])
68 ->expects($this->any())
73 ->expects($this->any())
74 ->method(
'getCriterionId')
75 ->willReturn(
'usr_global_role');
78 ->expects($this->any())
79 ->method(
'getCriterionValue')
83 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3]
99 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
100 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
103 ->expects($this->once())
105 ->willReturnCallback(
function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
108 'id' => $criterionAssignment1->getId(),
114 'id' => $criterionAssignment2->getId(),
120 'id' => $criterionAssignment3->getId(),
133 $document->buildFromArray([
135 'title' =>
'phpunit',
138 $this->assertCount(3, $document->criteria());
153 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
154 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
157 ->expects($this->once())
159 ->willReturnCallback(
function () {
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';
175 ->expects($this->once())
177 ->willReturnCallback(
function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
180 'id' => $criterionAssignment1->getId(),
186 'id' => $criterionAssignment2->getId(),
192 'id' => $criterionAssignment3->getId(),
205 $this->assertCount(3, $document->criteria());
221 $document->attachCriterion($criterionAssignment1);
222 $document->attachCriterion($criterionAssignment2);
223 $document->attachCriterion($criterionAssignment3);
225 $this->assertCount(3, $document->criteria());
241 $document->attachCriterion($criterionAssignment1);
242 $document->attachCriterion($criterionAssignment2);
243 $document->attachCriterion($criterionAssignment3);
245 $this->assertCount(3, $document->criteria());
247 $document->detachCriterion($criterionAssignment2);
249 $this->assertCount(2, $document->criteria());
265 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
270 ->expects($this->exactly(2))
271 ->method(
'affectedRows')
272 ->willReturnOnConsecutiveCalls(0, 1);
275 ->expects($this->once())
280 ->expects($this->once())
285 $document->attachCriterion($criterionAssignment1);
286 $document->attachCriterion($criterionAssignment2);
287 $document->attachCriterion($criterionAssignment3);
289 $criterionAssignment1
290 ->expects($this->exactly(2))
293 $criterionAssignment1
294 ->expects($this->once())
297 $criterionAssignment2
298 ->expects($this->once())
301 $criterionAssignment2
302 ->expects($this->once())
305 $criterionAssignment3
306 ->expects($this->exactly(2))
309 $criterionAssignment3
310 ->expects($this->once())
313 $this->assertCount(3, $document->criteria());
317 $document->detachCriterion($criterionAssignment2);
321 $this->assertCount(2, $document->criteria());
323 $document->detachCriterion($criterionAssignment1);
324 $document->detachCriterion($criterionAssignment3);
326 $this->assertCount(0, $document->criteria());
337 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
339 $criterionAssignment1 = $this
340 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
341 ->disableOriginalConstructor()
342 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
343 ->addMethods([
'getId'])
346 $criterionAssignment1
347 ->expects($this->any())
351 $criterionAssignment1
352 ->expects($this->any())
353 ->method(
'getCriterionId')
354 ->willReturn(
'usr_global_role');
356 $criterionAssignment1
357 ->expects($this->any())
358 ->method(
'getCriterionValue')
361 $criterionAssignment2 = $this
362 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
363 ->disableOriginalConstructor()
364 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
365 ->addMethods([
'getId'])
368 $criterionAssignment2
369 ->expects($this->any())
373 $criterionAssignment2
374 ->expects($this->any())
375 ->method(
'getCriterionId')
376 ->willReturn(
'usr_global_role');
378 $criterionAssignment2
379 ->expects($this->any())
380 ->method(
'getCriterionValue')
385 $document->attachCriterion($criterionAssignment1);
386 $document->attachCriterion($criterionAssignment2);
395 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
397 $criterionAssignment1 = $this
398 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
399 ->disableOriginalConstructor()
400 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
401 ->addMethods([
'getId'])
404 $criterionAssignment1
405 ->expects($this->any())
409 $criterionAssignment1
410 ->expects($this->any())
411 ->method(
'getCriterionId')
412 ->willReturn(
'usr_global_role');
414 $criterionAssignment1
415 ->expects($this->any())
416 ->method(
'getCriterionValue')
419 $criterionAssignment2 = $this
420 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
421 ->disableOriginalConstructor()
422 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
423 ->addMethods([
'getId'])
426 $criterionAssignment2
427 ->expects($this->any())
431 $criterionAssignment2
432 ->expects($this->any())
433 ->method(
'getCriterionId')
434 ->willReturn(
'usr_global_role');
436 $criterionAssignment2
437 ->expects($this->any())
438 ->method(
'getCriterionValue')
443 $document->attachCriterion($criterionAssignment1);
444 $document->attachCriterion($criterionAssignment2);
452 $this->expectException(OutOfBoundsException::class);
454 $criterionAssignment1 = $this
455 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
456 ->disableOriginalConstructor()
457 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
458 ->addMethods([
'getId'])
461 $criterionAssignment1
462 ->expects($this->any())
466 $criterionAssignment1
467 ->expects($this->any())
468 ->method(
'getCriterionId')
469 ->willReturn(
'usr_global_role');
471 $criterionAssignment1
472 ->expects($this->any())
473 ->method(
'getCriterionValue')
478 $document->detachCriterion($criterionAssignment1);
testCriteriaCanBeAttachedToAndDetachedFromDocumentPersistently(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
criteriaAssignmentProvider
static register(ActiveRecord $ar, arConnector $connector)
testExceptionIsRaisedWhenAttachingDuplicateCriteria()
Class ilTermsOfServiceCriterionBaseTest.
Class ilTermsOfServiceDocumentTest.
testCriteriaCanBeDetachedFromDocument(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
criteriaAssignmentProvider
testDocumentModelCanCreatedByIdWithAttachedCriteriaBeingRead(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
criteriaAssignmentProvider
criteriaAssignmentProvider()
getCriterionConfig($value=null)
Class ilTermsOfServiceDocumentCriterionAssignment.
testDocumentModelCanBeBuiltFromArrayWithAttachedCriteriaBeingRead(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
criteriaAssignmentProvider
Class ilTermsOfServiceDocument.
testExceptionIsRaisedWhenRemovingUnknownCriterion()
testCriteriaCanBeAttachedToDocument(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3)
criteriaAssignmentProvider
testExceptionIsRaisedWhenAttachingDuplicateCriteriaEvenWithDifferentIds()