ILIAS  release_8 Revision v8.23
ilTermsOfServiceAcceptanceHistoryCriteriaBagTest Class Reference

Class ilTermsOfServiceAcceptanceHistoryCriteriaBagTest. More...

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

Public Member Functions

 testCriteriaCanBePassedAsArray ()
 
 testCriteriaCanBePassedAsString (ilTermsOfServiceAcceptanceHistoryCriteriaBag $bag)
 testCriteriaCanBePassedAsArray More...
 
 testExceptionIsRaisedWhenAtLeastOneNonCriterionIsPassedInArrayOnCreation ()
 
 invalidJsonDataProvider ()
 
 testExceptionIsRaisedWhenInvalidJsonDataIsPassedOnImport ($mixedData)
 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.

References $data, and $type.

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

◆ testCriteriaCanBePassedAsArray()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testCriteriaCanBePassedAsArray ( )

Definition at line 27 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

References $data.

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  }

◆ testCriteriaCanBePassedAsString()

ilTermsOfServiceAcceptanceHistoryCriteriaBagTest::testCriteriaCanBePassedAsString ( ilTermsOfServiceAcceptanceHistoryCriteriaBag  $bag)

testCriteriaCanBePassedAsArray

Definition at line 90 of file ilTermsOfServiceAcceptanceHistoryCriteriaBagTest.php.

References ilTermsOfServiceAcceptanceHistoryCriteriaBag\toJson().

90  : void
91  {
93  $this->assertSame($bag->toJson(), $newBag->toJson());
94  }
+ 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)

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: