1 <?php declare(strict_types=1);
19 $criterionTypeFactory = $this
20 ->getMockBuilder(ilTermsOfServiceCriterionTypeFactoryInterface::class)
23 return $criterionTypeFactory;
33 $criterionType = $this
34 ->getMockBuilder(ilTermsOfServiceCriterionType::class)
38 ->expects($this->any())
39 ->method(
'getTypeIdent')
40 ->willReturn($typeIdent);
42 return $criterionType;
56 ->expects($this->any())
57 ->method(
'hasUniqueNature')
61 ->expects($this->any())
62 ->method(
'getTypesByIdentMap')
64 $criterionType1->getTypeIdent() => $criterionType1,
68 ->expects($this->any())
69 ->method(
'findByTypeIdent')
70 ->willReturn($criterionType1);
72 return $criterionTypeFactory;
81 $criterionAssignment1 = $this
82 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
83 ->disableOriginalConstructor()
84 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
85 ->addMethods([
'getId'])
89 ->expects($this->any())
94 ->expects($this->any())
95 ->method(
'getCriterionId')
96 ->willReturn(
'usr_global_role');
99 ->expects($this->any())
100 ->method(
'getCriterionValue')
103 $criterionAssignment2 = $this
104 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
105 ->disableOriginalConstructor()
106 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
107 ->addMethods([
'getId'])
110 $criterionAssignment2
111 ->expects($this->any())
115 $criterionAssignment2
116 ->expects($this->any())
117 ->method(
'getCriterionId')
118 ->willReturn(
'usr_language');
120 $criterionAssignment2
121 ->expects($this->any())
122 ->method(
'getCriterionValue')
125 $criterionAssignment3 = $this
126 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
127 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
128 ->addMethods([
'getId'])
129 ->disableOriginalConstructor()
132 $criterionAssignment3
133 ->expects($this->any())
137 $criterionAssignment3
138 ->expects($this->any())
139 ->method(
'getCriterionId')
140 ->willReturn(
'usr_language');
142 $criterionAssignment3
143 ->expects($this->any())
144 ->method(
'getCriterionValue')
147 $criterionAssignment4 = $this
148 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
149 ->disableOriginalConstructor()
150 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
151 ->addMethods([
'getId'])
154 $criterionAssignment4
155 ->expects($this->any())
159 $criterionAssignment4
160 ->expects($this->any())
161 ->method(
'getCriterionId')
162 ->willReturn(
'usr_global_role');
164 $criterionAssignment4
165 ->expects($this->any())
166 ->method(
'getCriterionValue')
170 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3, $criterionAssignment4]
189 ->getMockBuilder(ilTermsOfServiceDocument::class)
190 ->disableOriginalConstructor()
191 ->onlyMethods([
'criteria'])
195 ->expects($this->any())
197 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
206 $this->assertTrue($constraint->accepts($criterionAssignment1));
207 $this->assertTrue($constraint->accepts($criterionAssignment2));
208 $this->assertFalse($constraint->accepts($criterionAssignment3));
209 $this->assertTrue($constraint->accepts($criterionAssignment4));
227 ->getMockBuilder(ilTermsOfServiceDocument::class)
228 ->disableOriginalConstructor()
229 ->onlyMethods([
'criteria'])
233 ->expects($this->any())
235 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
247 $constraint->check($criterionAssignment4);
252 $this->assertFalse($raised);
255 $constraint->check($criterionAssignment3);
258 $this->assertEquals(
'The passed assignment must be unique for the document!', $e->getMessage());
262 $this->assertTrue($raised);
280 ->getMockBuilder(ilTermsOfServiceDocument::class)
281 ->disableOriginalConstructor()
282 ->onlyMethods([
'criteria'])
286 ->expects($this->any())
288 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
297 $this->assertNull($constraint->problemWith($criterionAssignment1));
298 $this->assertNull($constraint->problemWith($criterionAssignment2));
299 $this->assertNull($constraint->problemWith($criterionAssignment4));
300 $this->assertIsString($constraint->problemWith($criterionAssignment3));
318 ->getMockBuilder(ilTermsOfServiceDocument::class)
319 ->disableOriginalConstructor()
320 ->onlyMethods([
'criteria'])
324 ->expects($this->any())
326 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
337 $ok = $dataFavtgory->ok($criterionAssignment1);
338 $ok2 = $dataFavtgory->ok($criterionAssignment3);
339 $error = $dataFavtgory->error(
'An error occurred');
342 $this->assertTrue(
$result->isOk());
344 $result = $constraint->applyTo($ok2);
345 $this->assertTrue($result->isError());
347 $result = $constraint->applyTo($error);
348 $this->assertSame($error, $result);
366 ->getMockBuilder(ilTermsOfServiceDocument::class)
367 ->disableOriginalConstructor()
368 ->onlyMethods([
'criteria'])
372 ->expects($this->any())
374 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
383 $newConstraint = $constraint->withProblemBuilder(
function () {
386 $this->assertEquals(
'phpunit', $newConstraint->problemWith($criterionAssignment3));
404 ->getMockBuilder(ilTermsOfServiceDocument::class)
405 ->disableOriginalConstructor()
406 ->onlyMethods([
'criteria'])
410 ->expects($this->any())
412 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
421 $criterionAssignment5 = clone $criterionAssignment3;
423 $constraint->accepts($criterionAssignment1);
424 $constraint->accepts($criterionAssignment2);
425 $constraint->accepts($criterionAssignment3);
426 $constraint->accepts($criterionAssignment4);
427 $constraint->accepts($criterionAssignment5);
430 'The passed assignment must be unique for the document!',
431 $constraint->problemWith($criterionAssignment3)
434 'The passed assignment must be unique for the document!',
435 $constraint->problemWith($criterionAssignment5)
454 ->getMockBuilder(ilTermsOfServiceDocument::class)
455 ->disableOriginalConstructor()
456 ->onlyMethods([
'criteria'])
460 ->expects($this->any())
462 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
470 ->expects($this->any())
471 ->method(
'hasUniqueNature')
475 ->expects($this->any())
476 ->method(
'hasUniqueNature')
479 $criterionTypeFactory
480 ->expects($this->any())
481 ->method(
'findByTypeIdent')
482 ->willReturn($criterionType2);
485 $criterionTypeFactory,
491 $criterionWithSameNature = $this
492 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
493 ->onlyMethods([
'getCriterionValue',
'getCriterionId'])
494 ->addMethods([
'getId'])
495 ->disableOriginalConstructor()
498 $criterionWithSameNature
499 ->expects($this->any())
503 $criterionWithSameNature
504 ->expects($this->any())
505 ->method(
'getCriterionId')
506 ->willReturn(
'usr_language');
508 $criterionWithSameNature
509 ->expects($this->any())
510 ->method(
'getCriterionValue')
513 $this->assertFalse($constraint->accepts($criterionWithSameNature));
testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
Interface ilTermsOfServiceCriterionType.
testConstraintAcceptanceWorksAsExpected(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
getCriterionTypeMock(string $typeIdent)
Class ilTermsOfServiceCriterionBaseTest.
Class ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.
testConstraintRestrictionWorksAsExpected(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
getCriterionConfig($value=null)
Class ilTermsOfServiceDocumentCriterionAssignment.
testConstraintCheckWorksAsExpected(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
testConstraintProblemBuilderWorksAsExpected(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
criteriaAssignmentProvider()
testConstraintProblemDetectionWorksAsExpected(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
getTypeMockForConstraint()
getCriterionTypeFactoryMock()
Class ilTermsOfServiceDocumentCriterionAssignmentConstraint.
testConstraintExposesCorrectErrorMessagesAfterMultiAccept(ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
criteriaAssignmentProvider
Interface ilTermsOfServiceCriterionTypeFactoryInterface.