ILIAS  release_8 Revision v8.24
ilTermsOfServiceAcceptanceHistoryCriteriaBagTest Class Reference

Class ilTermsOfServiceAcceptanceHistoryCriteriaBagTest. More...

+ Inheritance diagram for ilTermsOfServiceAcceptanceHistoryCriteriaBagTest:
+ Collaboration diagram for ilTermsOfServiceAcceptanceHistoryCriteriaBagTest:

Public Member Functions

 testCriteriaCanBePassedAsArray ()
 
 testCriteriaCanBePassedAsString (ilTermsOfServiceAcceptanceHistoryCriteriaBag $bag)
 @depends testCriteriaCanBePassedAsArray More...
 
 testExceptionIsRaisedWhenAtLeastOneNonCriterionIsPassedInArrayOnCreation ()
 
 invalidJsonDataProvider ()
 
 testExceptionIsRaisedWhenInvalidJsonDataIsPassedOnImport ($mixedData)
 @dataProvider invalidJsonDataProvider More...
 
 testExceptionIsRaisedWhenAtLeastOneInvalidElementIsPassedOnJsonStringImport ()
 
 testCriteriaImportFromJsonStringWorksAsExpected ()
 

Additional Inherited Members

- Protected Member Functions inherited from ilTermsOfServiceBaseTest
 setUp ()
 
 getLanguageMock ()
 
 getUiFactoryMock ()
 
 setGlobalVariable (string $name, $value)
 
 getCriterionConfig ($value=null)
 
- Protected Attributes inherited from ilTermsOfServiceBaseTest
Container $dic
 

Detailed Description

Member Function Documentation

◆ invalidJsonDataProvider()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::invalidJsonDataProvider ( )

Definition at line 118 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

118 : array
119 {
120 $object = new stdClass();
121 $object->not_expected = 'phpunit';
122 $object->value = ['id' => $object->not_expected, 'value' => ['usr_language' => 'de']];
123
124 $data = [
125 'Float' => [json_encode(5.1, JSON_THROW_ON_ERROR)],
126 'Integer' => [json_encode(5, JSON_THROW_ON_ERROR)],
127 'String' => [json_encode('5', JSON_THROW_ON_ERROR)],
128 'Null' => [json_encode(null, JSON_THROW_ON_ERROR)],
129 'Object' => [json_encode($object, JSON_THROW_ON_ERROR)],
130 'Bool' => [json_encode(true, JSON_THROW_ON_ERROR)],
131 ];
132
133 $arrayOfTypes = [];
134
135 foreach ($data as $type => $values) {
136 $arrayOfTypes['Array of ' . $type] = [json_encode([json_decode($values[0], false, 512, JSON_THROW_ON_ERROR)], JSON_THROW_ON_ERROR)];
137 }
138
139 return $data + $arrayOfTypes;
140 }
$type

References $data, and $type.

◆ testCriteriaCanBePassedAsArray()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testCriteriaCanBePassedAsArray ( )

Definition at line 27 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

28 {
29 $configCrit1 = $this->getMockBuilder(ilTermsOfServiceCriterionConfig::class)->getMock();
30
31 $configCrit1
32 ->method('jsonSerialize')
33 ->willReturn([
34 'usr_language' => 'de'
35 ]);
36
37 $configCrit2 = $this->getMockBuilder(ilTermsOfServiceCriterionConfig::class)->getMock();
38
39 $configCrit2
40 ->method('jsonSerialize')
41 ->willReturn([
42 'usr_global_role' => 4
43 ]);
44
45 $criterion1 = $this->getMockBuilder(ilTermsOfServiceEvaluableCriterion::class)->getMock();
46
47 $criterion1
48 ->method('getCriterionId')
49 ->willReturn('crit1');
50
51 $criterion1
52 ->method('getCriterionValue')
53 ->willReturn($configCrit1);
54
55 $criterion2 = $this->getMockBuilder(ilTermsOfServiceEvaluableCriterion::class)->getMock();
56
57 $criterion2
58 ->method('getCriterionId')
59 ->willReturn('crit2');
60
61 $criterion2
62 ->method('getCriterionValue')
63 ->willReturn($configCrit2);
64
65 $data = [
66 $criterion1,
67 $criterion2
68 ];
69
71
72 $this->assertCount(count($data), $bag);
73 $this->assertArrayHasKey(0, $bag);
74 $this->assertArrayHasKey(1, $bag);
75 $this->assertArrayHasKey('id', $bag[0]);
76 $this->assertArrayHasKey('value', $bag[0]);
77 $this->assertArrayHasKey('id', $bag[1]);
78 $this->assertArrayHasKey('value', $bag[1]);
79 $this->assertSame(
80 '[{"id":"crit1","value":{"usr_language":"de"}},{"id":"crit2","value":{"usr_global_role":4}}]',
81 $bag->toJson()
82 );
83
84 return $bag;
85 }

References $data.

◆ testCriteriaCanBePassedAsString()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testCriteriaCanBePassedAsString ( ilTermsOfServiceAcceptanceHistoryCriteriaBag  $bag)

@depends testCriteriaCanBePassedAsArray

Definition at line 90 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

90 : void
91 {
93 $this->assertSame($bag->toJson(), $newBag->toJson());
94 }

References ilTermsOfServiceAcceptanceHistoryCriteriaBag\toJson().

+ Here is the call graph for this function:

◆ testCriteriaImportFromJsonStringWorksAsExpected()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testCriteriaImportFromJsonStringWorksAsExpected ( )

Definition at line 185 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

185 : void
186 {
188 $bag->fromJson('[{"id":"crit1","value":{"usr_language":"de"}},{"id":"crit2","value":{"usr_global_role":4}}]');
189
190 $this->assertCount(count($bag), $bag);
191 $this->assertArrayHasKey(0, $bag);
192 $this->assertArrayHasKey(1, $bag);
193 $this->assertArrayHasKey('id', $bag[0]);
194 $this->assertArrayHasKey('value', $bag[0]);
195 $this->assertArrayHasKey('id', $bag[1]);
196 $this->assertArrayHasKey('value', $bag[1]);
197 $this->assertSame(
198 '[{"id":"crit1","value":{"usr_language":"de"}},{"id":"crit2","value":{"usr_global_role":4}}]',
199 $bag->toJson()
200 );
201 }

◆ testExceptionIsRaisedWhenAtLeastOneInvalidElementIsPassedOnJsonStringImport()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testExceptionIsRaisedWhenAtLeastOneInvalidElementIsPassedOnJsonStringImport ( )

Definition at line 165 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

165 : void
166 {
167 $configCrit1 = $this->getMockBuilder(ilTermsOfServiceCriterionConfig::class)->getMock();
168
169 $criterion1 = $this->getMockBuilder(ilTermsOfServiceEvaluableCriterion::class)->getMock();
170
171 $criterion1
172 ->method('getCriterionId')
173 ->willReturn('crit1');
174
175 $criterion1
176 ->method('getCriterionValue')
177 ->willReturn($configCrit1);
178
179 $this->expectException(ilTermsOfServiceUnexpectedCriteriaBagContentException::class);
180
182 $bag->fromJson('[{"invalid":"crit1","value":{"usr_language":"de"}},{"id":"crit2","value":{"usr_global_role":4}}]');
183 }

◆ testExceptionIsRaisedWhenAtLeastOneNonCriterionIsPassedInArrayOnCreation()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testExceptionIsRaisedWhenAtLeastOneNonCriterionIsPassedInArrayOnCreation ( )

Definition at line 96 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

96 : void
97 {
98 $configCrit1 = $this->getMockBuilder(ilTermsOfServiceCriterionConfig::class)->getMock();
99
100 $criterion1 = $this->getMockBuilder(ilTermsOfServiceEvaluableCriterion::class)->getMock();
101
102 $criterion1
103 ->method('getCriterionId')
104 ->willReturn('crit1');
105
106 $criterion1
107 ->method('getCriterionValue')
108 ->willReturn($configCrit1);
109
110 $this->expectException(ilTermsOfServiceUnexpectedCriteriaBagContentException::class);
111
113 $criterion1,
114 5
115 ]);
116 }

◆ testExceptionIsRaisedWhenInvalidJsonDataIsPassedOnImport()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testExceptionIsRaisedWhenInvalidJsonDataIsPassedOnImport (   $mixedData)

@dataProvider invalidJsonDataProvider

Definition at line 145 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

145 : void
146 {
147 $configCrit1 = $this->getMockBuilder(ilTermsOfServiceCriterionConfig::class)->getMock();
148
149 $criterion1 = $this->getMockBuilder(ilTermsOfServiceEvaluableCriterion::class)->getMock();
150
151 $criterion1
152 ->method('getCriterionId')
153 ->willReturn('crit1');
154
155 $criterion1
156 ->method('getCriterionValue')
157 ->willReturn($configCrit1);
158
159 $this->expectException(ilTermsOfServiceUnexpectedCriteriaBagContentException::class);
160
162 $bag->fromJson($mixedData);
163 }

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