ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilTermsOfServiceDocumentCriterionAssignmentConstraintTest Class Reference

Class ilTermsOfServiceDocumentCriterionAssignmentConstraintTest. More...

+ Inheritance diagram for ilTermsOfServiceDocumentCriterionAssignmentConstraintTest:
+ Collaboration diagram for ilTermsOfServiceDocumentCriterionAssignmentConstraintTest:

Public Member Functions

 criteriaAssignmentProvider ()
 
 testConstraintAcceptanceWorksAsExpected (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testConstraintCheckWorksAsExpected (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testConstraintProblemDetectionWorksAsExpected (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testConstraintRestrictionWorksAsExpected (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testConstraintProblemBuilderWorksAsExpected (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testConstraintExposesCorrectErrorMessagesAfterMultiAccept (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 
 testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned (\ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment1, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment2, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment3, \ilTermsOfServiceDocumentCriterionAssignment $criterionAssignment4)
 @dataProvider criteriaAssignmentProvider More...
 

Protected Member Functions

 getCriterionTypeFactoryMock ()
 
 getCriterionTypeMock (string $typeIdent)
 
 getTypeMockForConstraint ()
 
- Protected Member Functions inherited from ilTermsOfServiceCriterionBaseTest
 getRbacReviewMock ()
 
 getObjectDataCacheMock ()
 
 getRadioGroupMock ()
 
 getFormMock ()
 
 getUserMock ()
 
- Protected Member Functions inherited from ilTermsOfServiceBaseTest
 setUp ()
 
 getLanguageMock ()
 
 setGlobalVariable (string $name, $value)
 
 assertException (string $exceptionClass)
 
 getCriterionConfig ($value=null)
 

Additional Inherited Members

- Protected Attributes inherited from ilTermsOfServiceBaseTest
 $dic
 

Detailed Description

Member Function Documentation

◆ criteriaAssignmentProvider()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::criteriaAssignmentProvider ( )
Returns
array

Definition at line 74 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

74 : array
75 {
76 $criterionAssignment1 = $this
77 ->getMockBuilder(\ilTermsOfServiceDocumentCriterionAssignment::class)
78 ->disableOriginalConstructor()
79 ->setMethods(['getId', 'getCriterionValue', 'getCriterionId'])
80 ->getMock();
81
82 $criterionAssignment1
83 ->expects($this->any())
84 ->method('getId')
85 ->willReturn(1);
86
87 $criterionAssignment1
88 ->expects($this->any())
89 ->method('getCriterionId')
90 ->willReturn('usr_global_role');
91
92 $criterionAssignment1
93 ->expects($this->any())
94 ->method('getCriterionValue')
95 ->willReturn($this->getCriterionConfig(['role_id' => 4]));
96
97 $criterionAssignment2 = $this
98 ->getMockBuilder(\ilTermsOfServiceDocumentCriterionAssignment::class)
99 ->disableOriginalConstructor()
100 ->setMethods(['getId', 'getCriterionValue', 'getCriterionId'])
101 ->getMock();
102
103 $criterionAssignment2
104 ->expects($this->any())
105 ->method('getId')
106 ->willReturn(1);
107
108 $criterionAssignment2
109 ->expects($this->any())
110 ->method('getCriterionId')
111 ->willReturn('usr_language');
112
113 $criterionAssignment2
114 ->expects($this->any())
115 ->method('getCriterionValue')
116 ->willReturn($this->getCriterionConfig(['lng' => 'de']));
117
118 $criterionAssignment3 = $this
119 ->getMockBuilder(\ilTermsOfServiceDocumentCriterionAssignment::class)
120 ->setMethods(['getId', 'getCriterionValue', 'getCriterionId'])
121 ->disableOriginalConstructor()
122 ->getMock();
123
124 $criterionAssignment3
125 ->expects($this->any())
126 ->method('getId')
127 ->willReturn(0);
128
129 $criterionAssignment3
130 ->expects($this->any())
131 ->method('getCriterionId')
132 ->willReturn('usr_language');
133
134 $criterionAssignment3
135 ->expects($this->any())
136 ->method('getCriterionValue')
137 ->willReturn($this->getCriterionConfig(['lng' => 'de']));
138
139 $criterionAssignment4 = $this
140 ->getMockBuilder(\ilTermsOfServiceDocumentCriterionAssignment::class)
141 ->disableOriginalConstructor()
142 ->setMethods(['getId', 'getCriterionValue', 'getCriterionId'])
143 ->getMock();
144
145 $criterionAssignment4
146 ->expects($this->any())
147 ->method('getId')
148 ->willReturn(0);
149
150 $criterionAssignment4
151 ->expects($this->any())
152 ->method('getCriterionId')
153 ->willReturn('usr_global_role');
154
155 $criterionAssignment4
156 ->expects($this->any())
157 ->method('getCriterionValue')
158 ->willReturn($this->getCriterionConfig(['role_id' => 6]));
159
160 return [
161 [$criterionAssignment1, $criterionAssignment2, $criterionAssignment3, $criterionAssignment4]
162 ];
163 }

References ilTermsOfServiceBaseTest\getCriterionConfig().

+ Here is the call graph for this function:

◆ getCriterionTypeFactoryMock()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::getCriterionTypeFactoryMock ( )
protected
Returns
PHPUnit_Framework_MockObject_MockObject|\ilTermsOfServiceCriterionTypeFactoryInterface

Definition at line 15 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

16 {
17 $criterionTypeFactory = $this
18 ->getMockBuilder(\ilTermsOfServiceCriterionTypeFactoryInterface::class)
19 ->getMock();
20
21 return $criterionTypeFactory;
22 }

Referenced by getTypeMockForConstraint(), and testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned().

+ Here is the caller graph for this function:

◆ getCriterionTypeMock()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::getCriterionTypeMock ( string  $typeIdent)
protected
Parameters
string$typeIdent
Returns
PHPUnit_Framework_MockObject_MockObject|\ilTermsOfServiceCriterionType

Definition at line 28 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

29 {
30 $criterionType = $this
31 ->getMockBuilder(\ilTermsOfServiceCriterionType::class)
32 ->getMock();
33
34 $criterionType
35 ->expects($this->any())
36 ->method('getTypeIdent')
37 ->willReturn($typeIdent);
38
39 return $criterionType;
40 }
Interface ilTermsOfServiceCriterionType.

Referenced by getTypeMockForConstraint(), and testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned().

+ Here is the caller graph for this function:

◆ getTypeMockForConstraint()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::getTypeMockForConstraint ( )
protected
Returns
PHPUnit_Framework_MockObject_MockObject|\ilTermsOfServiceCriterionTypeFactoryInterface

Definition at line 45 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

46 {
47 $criterionTypeFactory = $this->getCriterionTypeFactoryMock();
48
49 $criterionType1 = $this->getCriterionTypeMock('dummy');
50
51 $criterionType1
52 ->expects($this->any())
53 ->method('hasUniqueNature')
54 ->willReturn(false);
55
56 $criterionTypeFactory
57 ->expects($this->any())
58 ->method('getTypesByIdentMap')
59 ->willReturn([
60 $criterionType1->getTypeIdent() => $criterionType1,
61 ]);
62
63 $criterionTypeFactory
64 ->expects($this->any())
65 ->method('findByTypeIdent')
66 ->willReturn($criterionType1);
67
68 return $criterionTypeFactory;
69 }

References getCriterionTypeFactoryMock(), and getCriterionTypeMock().

Referenced by testConstraintAcceptanceWorksAsExpected(), testConstraintCheckWorksAsExpected(), testConstraintExposesCorrectErrorMessagesAfterMultiAccept(), testConstraintProblemBuilderWorksAsExpected(), testConstraintProblemDetectionWorksAsExpected(), and testConstraintRestrictionWorksAsExpected().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ testConstraintAcceptanceWorksAsExpected()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintAcceptanceWorksAsExpected ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 172 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

177 {
178 $document1 = $this
179 ->getMockBuilder(\ilTermsOfServiceDocument::class)
180 ->disableOriginalConstructor()
181 ->setMethods(['criteria'])
182 ->getMock();
183
184 $document1
185 ->expects($this->any())
186 ->method('criteria')
187 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
188
189 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
191 $document1,
192 new Factory(),
193 $this->getLanguageMock()
194 );
195
196 $this->assertTrue($constraint->accepts($criterionAssignment1));
197 $this->assertTrue($constraint->accepts($criterionAssignment2));
198 $this->assertFalse($constraint->accepts($criterionAssignment3));
199 $this->assertTrue($constraint->accepts($criterionAssignment4));
200 }
Builds data types.
Definition: Factory.php:15

References ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testConstraintCheckWorksAsExpected()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintCheckWorksAsExpected ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 209 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

214 {
215 $document1 = $this
216 ->getMockBuilder(\ilTermsOfServiceDocument::class)
217 ->disableOriginalConstructor()
218 ->setMethods(['criteria'])
219 ->getMock();
220
221 $document1
222 ->expects($this->any())
223 ->method('criteria')
224 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
225
226 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
228 $document1,
229 new Factory(),
230 $this->getLanguageMock()
231 );
232
233 $raised = false;
234
235 try {
236 $constraint->check($criterionAssignment4);
237 } catch (\UnexpectedValueException $e) {
238 $raised = true;
239 }
240
241 $this->assertFalse($raised);
242
243 try {
244 $constraint->check($criterionAssignment3);
245 $raised = false;
246 } catch (\UnexpectedValueException $e) {
247 $this->assertEquals('The passed assignment must be unique for the document!', $e->getMessage());
248 $raised = true;
249 }
250
251 $this->assertTrue($raised);
252 }

References ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testConstraintExposesCorrectErrorMessagesAfterMultiAccept()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintExposesCorrectErrorMessagesAfterMultiAccept ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 382 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

387 {
388 $document1 = $this
389 ->getMockBuilder(\ilTermsOfServiceDocument::class)
390 ->disableOriginalConstructor()
391 ->setMethods(['criteria'])
392 ->getMock();
393
394 $document1
395 ->expects($this->any())
396 ->method('criteria')
397 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
398
399 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
401 $document1,
402 new Factory(),
403 $this->getLanguageMock()
404 );
405
406 $criterionAssignment5 = clone $criterionAssignment3;
407
408 $constraint->accepts($criterionAssignment1);
409 $constraint->accepts($criterionAssignment2);
410 $constraint->accepts($criterionAssignment3);
411 $constraint->accepts($criterionAssignment4);
412 $constraint->accepts($criterionAssignment5);
413
414 $this->assertEquals('The passed assignment must be unique for the document!', $constraint->problemWith($criterionAssignment3));
415 $this->assertEquals('The passed assignment must be unique for the document!', $constraint->problemWith($criterionAssignment5));
416 }

References ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testConstraintProblemBuilderWorksAsExpected()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintProblemBuilderWorksAsExpected ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 345 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

350 {
351 $document1 = $this
352 ->getMockBuilder(\ilTermsOfServiceDocument::class)
353 ->disableOriginalConstructor()
354 ->setMethods(['criteria'])
355 ->getMock();
356
357 $document1
358 ->expects($this->any())
359 ->method('criteria')
360 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
361
362 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
364 $document1,
365 new Factory(),
366 $this->getLanguageMock()
367 );
368
369 $newConstraint = $constraint->withProblemBuilder(function () {
370 return 'phpunit';
371 });
372 $this->assertEquals('phpunit', $newConstraint->problemWith($criterionAssignment3));
373 }

References ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testConstraintProblemDetectionWorksAsExpected()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintProblemDetectionWorksAsExpected ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 261 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

266 {
267 $document1 = $this
268 ->getMockBuilder(\ilTermsOfServiceDocument::class)
269 ->disableOriginalConstructor()
270 ->setMethods(['criteria'])
271 ->getMock();
272
273 $document1
274 ->expects($this->any())
275 ->method('criteria')
276 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
277
278 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
280 $document1,
281 new Factory(),
282 $this->getLanguageMock()
283 );
284
285 $this->assertNull($constraint->problemWith($criterionAssignment1));
286 $this->assertNull($constraint->problemWith($criterionAssignment2));
287 $this->assertNull($constraint->problemWith($criterionAssignment4));
288 $this->assertInternalType('string', $constraint->problemWith($criterionAssignment3));
289 }

References ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testConstraintRestrictionWorksAsExpected()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testConstraintRestrictionWorksAsExpected ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 298 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

303 {
304 $document1 = $this
305 ->getMockBuilder(\ilTermsOfServiceDocument::class)
306 ->disableOriginalConstructor()
307 ->setMethods(['criteria'])
308 ->getMock();
309
310 $document1
311 ->expects($this->any())
312 ->method('criteria')
313 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
314
315 $dataFavtgory = new Factory();
316
317 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
319 $document1,
320 $dataFavtgory,
321 $this->getLanguageMock()
322 );
323
324 $ok = $dataFavtgory->ok($criterionAssignment1);
325 $ok2 = $dataFavtgory->ok($criterionAssignment3);
326 $error = $dataFavtgory->error('An error occurred');
327
328 $result = $constraint->restrict($ok);
329 $this->assertTrue($result->isOk());
330
331 $result = $constraint->restrict($ok2);
332 $this->assertTrue($result->isError());
333
334 $result = $constraint->restrict($error);
335 $this->assertSame($error, $result);
336 }
$result

References $ok, $result, ilTermsOfServiceBaseTest\getLanguageMock(), and getTypeMockForConstraint().

+ Here is the call graph for this function:

◆ testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned()

ilTermsOfServiceDocumentCriterionAssignmentConstraintTest::testCriterionWithSameNatureIsNotAcceptedWhenAlreadyAssigned ( \ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment1,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment2,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment3,
\ilTermsOfServiceDocumentCriterionAssignment  $criterionAssignment4 
)

@dataProvider criteriaAssignmentProvider

Parameters
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment1
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment2
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment3
ilTermsOfServiceDocumentCriterionAssignment$criterionAssignment4

Definition at line 425 of file ilTermsOfServiceDocumentCriterionAssignmentConstraintTest.php.

430 {
431 $document = $this
432 ->getMockBuilder(\ilTermsOfServiceDocument::class)
433 ->disableOriginalConstructor()
434 ->setMethods(['criteria'])
435 ->getMock();
436
437 $document
438 ->expects($this->any())
439 ->method('criteria')
440 ->willReturn([$criterionAssignment1, $criterionAssignment2]);
441
442 $criterionTypeFactory = $this->getCriterionTypeFactoryMock();
443
444 $criterionType1 = $this->getCriterionTypeMock('usr_global_role');
445 $criterionType2 = $this->getCriterionTypeMock('usr_language');
446
447 $criterionType1
448 ->expects($this->any())
449 ->method('hasUniqueNature')
450 ->willReturn(false);
451
452 $criterionType2
453 ->expects($this->any())
454 ->method('hasUniqueNature')
455 ->willReturn(true);
456
457 $criterionTypeFactory
458 ->expects($this->any())
459 ->method('findByTypeIdent')
460 ->willReturn($criterionType2);
461
462 $constraint = new \ilTermsOfServiceDocumentCriterionAssignmentConstraint(
463 $criterionTypeFactory,
464 $document,
465 new Factory(),
466 $this->getLanguageMock()
467 );
468
469 $criterionWithSameNature = $this
470 ->getMockBuilder(\ilTermsOfServiceDocumentCriterionAssignment::class)
471 ->setMethods(['getId', 'getCriterionValue', 'getCriterionId'])
472 ->disableOriginalConstructor()
473 ->getMock();
474
475 $criterionWithSameNature
476 ->expects($this->any())
477 ->method('getId')
478 ->willReturn(0);
479
480 $criterionWithSameNature
481 ->expects($this->any())
482 ->method('getCriterionId')
483 ->willReturn('usr_language');
484
485 $criterionWithSameNature
486 ->expects($this->any())
487 ->method('getCriterionValue')
488 ->willReturn($this->getCriterionConfig(['lng' => 'ru']));
489
490 $this->assertFalse($constraint->accepts($criterionWithSameNature));
491 }

References ilTermsOfServiceBaseTest\getCriterionConfig(), getCriterionTypeFactoryMock(), getCriterionTypeMock(), and ilTermsOfServiceBaseTest\getLanguageMock().

+ Here is the call graph for this function:

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