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 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
88 ->expects($this->any())
93 ->expects($this->any())
94 ->method(
'getCriterionId')
95 ->willReturn(
'usr_global_role');
98 ->expects($this->any())
99 ->method(
'getCriterionValue')
102 $criterionAssignment2 = $this
103 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
104 ->disableOriginalConstructor()
105 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
108 $criterionAssignment2
109 ->expects($this->any())
113 $criterionAssignment2
114 ->expects($this->any())
115 ->method(
'getCriterionId')
116 ->willReturn(
'usr_language');
118 $criterionAssignment2
119 ->expects($this->any())
120 ->method(
'getCriterionValue')
123 $criterionAssignment3 = $this
124 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
125 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
126 ->disableOriginalConstructor()
129 $criterionAssignment3
130 ->expects($this->any())
134 $criterionAssignment3
135 ->expects($this->any())
136 ->method(
'getCriterionId')
137 ->willReturn(
'usr_language');
139 $criterionAssignment3
140 ->expects($this->any())
141 ->method(
'getCriterionValue')
144 $criterionAssignment4 = $this
145 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
146 ->disableOriginalConstructor()
147 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
150 $criterionAssignment4
151 ->expects($this->any())
155 $criterionAssignment4
156 ->expects($this->any())
157 ->method(
'getCriterionId')
158 ->willReturn(
'usr_global_role');
160 $criterionAssignment4
161 ->expects($this->any())
162 ->method(
'getCriterionValue')
166 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3, $criterionAssignment4]
185 ->getMockBuilder(ilTermsOfServiceDocument::class)
186 ->disableOriginalConstructor()
187 ->setMethods([
'criteria'])
191 ->expects($this->any())
193 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
202 $this->assertTrue($constraint->accepts($criterionAssignment1));
203 $this->assertTrue($constraint->accepts($criterionAssignment2));
204 $this->assertFalse($constraint->accepts($criterionAssignment3));
205 $this->assertTrue($constraint->accepts($criterionAssignment4));
223 ->getMockBuilder(ilTermsOfServiceDocument::class)
224 ->disableOriginalConstructor()
225 ->setMethods([
'criteria'])
229 ->expects($this->any())
231 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
243 $constraint->check($criterionAssignment4);
248 $this->assertFalse($raised);
251 $constraint->check($criterionAssignment3);
254 $this->assertEquals(
'The passed assignment must be unique for the document!', $e->getMessage());
258 $this->assertTrue($raised);
276 ->getMockBuilder(ilTermsOfServiceDocument::class)
277 ->disableOriginalConstructor()
278 ->setMethods([
'criteria'])
282 ->expects($this->any())
284 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
293 $this->assertNull($constraint->problemWith($criterionAssignment1));
294 $this->assertNull($constraint->problemWith($criterionAssignment2));
295 $this->assertNull($constraint->problemWith($criterionAssignment4));
296 $this->assertIsString($constraint->problemWith($criterionAssignment3));
314 ->getMockBuilder(ilTermsOfServiceDocument::class)
315 ->disableOriginalConstructor()
316 ->setMethods([
'criteria'])
320 ->expects($this->any())
322 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
333 $ok = $dataFavtgory->ok($criterionAssignment1);
334 $ok2 = $dataFavtgory->ok($criterionAssignment3);
335 $error = $dataFavtgory->error(
'An error occurred');
338 $this->assertTrue(
$result->isOk());
340 $result = $constraint->applyTo($ok2);
341 $this->assertTrue($result->isError());
343 $result = $constraint->applyTo($error);
344 $this->assertSame($error, $result);
362 ->getMockBuilder(ilTermsOfServiceDocument::class)
363 ->disableOriginalConstructor()
364 ->setMethods([
'criteria'])
368 ->expects($this->any())
370 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
379 $newConstraint = $constraint->withProblemBuilder(
function () {
382 $this->assertEquals(
'phpunit', $newConstraint->problemWith($criterionAssignment3));
400 ->getMockBuilder(ilTermsOfServiceDocument::class)
401 ->disableOriginalConstructor()
402 ->setMethods([
'criteria'])
406 ->expects($this->any())
408 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
417 $criterionAssignment5 = clone $criterionAssignment3;
419 $constraint->accepts($criterionAssignment1);
420 $constraint->accepts($criterionAssignment2);
421 $constraint->accepts($criterionAssignment3);
422 $constraint->accepts($criterionAssignment4);
423 $constraint->accepts($criterionAssignment5);
426 'The passed assignment must be unique for the document!',
427 $constraint->problemWith($criterionAssignment3)
430 'The passed assignment must be unique for the document!',
431 $constraint->problemWith($criterionAssignment5)
450 ->getMockBuilder(ilTermsOfServiceDocument::class)
451 ->disableOriginalConstructor()
452 ->setMethods([
'criteria'])
456 ->expects($this->any())
458 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
466 ->expects($this->any())
467 ->method(
'hasUniqueNature')
471 ->expects($this->any())
472 ->method(
'hasUniqueNature')
475 $criterionTypeFactory
476 ->expects($this->any())
477 ->method(
'findByTypeIdent')
478 ->willReturn($criterionType2);
481 $criterionTypeFactory,
487 $criterionWithSameNature = $this
488 ->getMockBuilder(ilTermsOfServiceDocumentCriterionAssignment::class)
489 ->setMethods([
'getId',
'getCriterionValue',
'getCriterionId'])
490 ->disableOriginalConstructor()
493 $criterionWithSameNature
494 ->expects($this->any())
498 $criterionWithSameNature
499 ->expects($this->any())
500 ->method(
'getCriterionId')
501 ->willReturn(
'usr_language');
503 $criterionWithSameNature
504 ->expects($this->any())
505 ->method(
'getCriterionValue')
508 $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.