1 <?php declare(strict_types=1);
16 $criterionAssignment1 = $this
17 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
18 ->disableOriginalConstructor()
19 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
23 ->expects($this->any())
28 ->expects($this->any())
29 ->method(
'getCriterionId')
30 ->willReturn(
'usr_global_role');
33 ->expects($this->any())
34 ->method(
'getCriterionValue')
37 $criterionAssignment2 = $this
38 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
39 ->disableOriginalConstructor()
40 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
44 ->expects($this->any())
49 ->expects($this->any())
50 ->method(
'getCriterionId')
51 ->willReturn(
'usr_language');
54 ->expects($this->any())
55 ->method(
'getCriterionValue')
58 $criterionAssignment3 = $this
59 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
60 ->disableOriginalConstructor()
61 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId',
'store',
'delete'])
65 ->expects($this->any())
70 ->expects($this->any())
71 ->method(
'getCriterionId')
72 ->willReturn(
'usr_global_role');
75 ->expects($this->any())
76 ->method(
'getCriterionValue')
80 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3]
96 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
97 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
100 ->expects($this->once())
102 ->willReturnCallback(
function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
105 'id' => $criterionAssignment1->getId(),
111 'id' => $criterionAssignment2->getId(),
117 'id' => $criterionAssignment3->getId(),
130 $document->buildFromArray([
132 'title' =>
'phpunit',
135 $this->assertCount(3, $document->criteria());
150 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
151 $criterionConnector = $this->getMockBuilder(arConnector::class)->getMock();
154 ->expects($this->once())
156 ->willReturnCallback(
function () {
157 $object =
new stdClass();
160 $object->title =
'phpunit';
161 $object->creation_ts = time();
162 $object->modification_ts = time();
163 $object->owner_usr_id = 6;
164 $object->last_modified_usr_id = 6;
165 $object->sorting = 10;
166 $object->text =
'HelloWorld';
172 ->expects($this->once())
174 ->willReturnCallback(
function () use ($criterionAssignment1, $criterionAssignment2, $criterionAssignment3) {
177 'id' => $criterionAssignment1->getId(),
183 'id' => $criterionAssignment2->getId(),
189 'id' => $criterionAssignment3->getId(),
202 $this->assertCount(3, $document->criteria());
218 $document->attachCriterion($criterionAssignment1);
219 $document->attachCriterion($criterionAssignment2);
220 $document->attachCriterion($criterionAssignment3);
222 $this->assertCount(3, $document->criteria());
238 $document->attachCriterion($criterionAssignment1);
239 $document->attachCriterion($criterionAssignment2);
240 $document->attachCriterion($criterionAssignment3);
242 $this->assertCount(3, $document->criteria());
244 $document->detachCriterion($criterionAssignment2);
246 $this->assertCount(2, $document->criteria());
262 $documentConnector = $this->getMockBuilder(arConnector::class)->getMock();
267 ->expects($this->exactly(2))
268 ->method(
'affectedRows')
269 ->willReturnOnConsecutiveCalls(0, 1);
272 ->expects($this->once())
277 ->expects($this->once())
282 $document->attachCriterion($criterionAssignment1);
283 $document->attachCriterion($criterionAssignment2);
284 $document->attachCriterion($criterionAssignment3);
286 $criterionAssignment1
287 ->expects($this->exactly(2))
290 $criterionAssignment1
291 ->expects($this->once())
294 $criterionAssignment2
295 ->expects($this->once())
298 $criterionAssignment2
299 ->expects($this->once())
302 $criterionAssignment3
303 ->expects($this->exactly(2))
306 $criterionAssignment3
307 ->expects($this->once())
310 $this->assertCount(3, $document->criteria());
314 $document->detachCriterion($criterionAssignment2);
318 $this->assertCount(2, $document->criteria());
320 $document->detachCriterion($criterionAssignment1);
321 $document->detachCriterion($criterionAssignment3);
323 $this->assertCount(0, $document->criteria());
334 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
336 $criterionAssignment1 = $this
337 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
338 ->disableOriginalConstructor()
339 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
342 $criterionAssignment1
343 ->expects($this->any())
347 $criterionAssignment1
348 ->expects($this->any())
349 ->method(
'getCriterionId')
350 ->willReturn(
'usr_global_role');
352 $criterionAssignment1
353 ->expects($this->any())
354 ->method(
'getCriterionValue')
357 $criterionAssignment2 = $this
358 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
359 ->disableOriginalConstructor()
360 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
363 $criterionAssignment2
364 ->expects($this->any())
368 $criterionAssignment2
369 ->expects($this->any())
370 ->method(
'getCriterionId')
371 ->willReturn(
'usr_global_role');
373 $criterionAssignment2
374 ->expects($this->any())
375 ->method(
'getCriterionValue')
380 $document->attachCriterion($criterionAssignment1);
381 $document->attachCriterion($criterionAssignment2);
390 $this->expectException(ilTermsOfServiceDuplicateCriterionAssignmentException::class);
392 $criterionAssignment1 = $this
393 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
394 ->disableOriginalConstructor()
395 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
398 $criterionAssignment1
399 ->expects($this->any())
403 $criterionAssignment1
404 ->expects($this->any())
405 ->method(
'getCriterionId')
406 ->willReturn(
'usr_global_role');
408 $criterionAssignment1
409 ->expects($this->any())
410 ->method(
'getCriterionValue')
413 $criterionAssignment2 = $this
414 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
415 ->disableOriginalConstructor()
416 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
419 $criterionAssignment2
420 ->expects($this->any())
424 $criterionAssignment2
425 ->expects($this->any())
426 ->method(
'getCriterionId')
427 ->willReturn(
'usr_global_role');
429 $criterionAssignment2
430 ->expects($this->any())
431 ->method(
'getCriterionValue')
436 $document->attachCriterion($criterionAssignment1);
437 $document->attachCriterion($criterionAssignment2);
445 $this->expectException(OutOfBoundsException::class);
447 $criterionAssignment1 = $this
448 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
449 ->disableOriginalConstructor()
450 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
453 $criterionAssignment1
454 ->expects($this->any())
458 $criterionAssignment1
459 ->expects($this->any())
460 ->method(
'getCriterionId')
461 ->willReturn(
'usr_global_role');
463 $criterionAssignment1
464 ->expects($this->any())
465 ->method(
'getCriterionValue')
470 $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()