ILIAS  release_7 Revision v7.30-3-g800a261c036
ilTermsOfServiceUserHasLanguageCriterionTest Class Reference

Class ilTermsOfServiceUserHasLanguageCriterionTest. More...

+ Inheritance diagram for ilTermsOfServiceUserHasLanguageCriterionTest:
+ Collaboration diagram for ilTermsOfServiceUserHasLanguageCriterionTest:

Public Member Functions

 setUp ()
 @inheritDoc More...
 
 testInstanceCanBeCreated ()
 
 testFormUserInterfaceElementsAreProperlyBuilt (ilTermsOfServiceUserHasLanguageCriterion $criterion)
 
 testValuesFromFormUserInterfaceElementsCanBeRetrieved (ilTermsOfServiceUserHasLanguageCriterion $criterion)
 @depends testFormUserInterfaceElementsAreProperlyBuilt More...
 
 testTypeIdentPresentationIsANonEmptyString (ilTermsOfServiceUserHasLanguageCriterion $criterion)
 @depends testFormUserInterfaceElementsAreProperlyBuilt More...
 
 languageProvider ()
 
 failingConfigProvider ()
 
 succeedingConfigProvider ()
 
 testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage (ilTermsOfServiceUserHasLanguageCriterion $criterion, ilTermsOfServiceCriterionConfig $config)
 
 testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage (ilTermsOfServiceUserHasLanguageCriterion $criterion, ilTermsOfServiceCriterionConfig $config)
 

Protected Member Functions

 getInstance ()
 
 buildForm (ilTermsOfServiceCriterionTypeGUI $gui, string $httpCriterionSelectionBodyParameter)
 
- Protected Member Functions inherited from ilTermsOfServiceCriterionBaseTest
 getRbacReviewMock ()
 
 getObjectDataCacheMock ()
 
 getRadioGroupMock ()
 
 getFormMock ()
 
 getUserMock ()
 
- Protected Member Functions inherited from ilTermsOfServiceBaseTest
 setUp ()
 
 getLanguageMock ()
 
 getUiFactoryMock ()
 
 setGlobalVariable (string $name, $value)
 
 getCriterionConfig ($value=null)
 

Protected Attributes

 $lng
 
 $expectedInitialValue = 'en'
 
 $expectedAfterFormSubmitValue = 'de'
 
 $englishLanguageTranslation = 'English'
 
 $germanLanguageTranslation = 'German'
 
- Protected Attributes inherited from ilTermsOfServiceBaseTest
 $dic
 

Detailed Description

Member Function Documentation

◆ buildForm()

ilTermsOfServiceUserHasLanguageCriterionTest::buildForm ( ilTermsOfServiceCriterionTypeGUI  $gui,
string  $httpCriterionSelectionBodyParameter 
)
protected
Parameters
ilTermsOfServiceCriterionTypeGUI$gui
string$httpCriterionSelectionBodyParameter
Returns
MockObject|ilPropertyFormGUI
Exceptions
ReflectionException

Definition at line 75 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

79 $form = $this->getFormMock();
80
81 $radioGroup = $this->getRadioGroupMock();
82
83 $radioGroup
84 ->expects($this->any())
85 ->method('getPostVar')
86 ->willReturn($httpCriterionSelectionBodyParameter);
87
88 $form->addItem($radioGroup);
89
90 $gui->appendOption($radioGroup, $this->getCriterionConfig(['lng' => $this->expectedInitialValue]));
91
92 return $form;
93 }
This class represents a property form user interface.
appendOption(ilRadioGroupInputGUI $option, ilTermsOfServiceCriterionConfig $config)

◆ failingConfigProvider()

ilTermsOfServiceUserHasLanguageCriterionTest::failingConfigProvider ( )
Returns
array

Definition at line 210 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

210 : array
211 {
212 $criterion = $this->getInstance();
213
214 return [
215 'English Language where German is Expected' => [$criterion, $this->getCriterionConfig(['lng' => 'en'])],
216 'Array' => [$criterion, $this->getCriterionConfig(['lng' => []])],
217 'Object' => [$criterion, $this->getCriterionConfig(['lng' => new stdClass()])],
218 'Double' => [$criterion, $this->getCriterionConfig(['lng' => 1.0])],
219 'Integer' => [$criterion, $this->getCriterionConfig(['lng' => 1])],
220 'Wrong Key Provided for Extracting Language' => [
221 $criterion,
222 $this->getCriterionConfig(['another_config_key' => true])
223 ],
224 'Empty Configuration' => [$criterion, $this->getCriterionConfig()],
225 ];
226 }

◆ getInstance()

ilTermsOfServiceUserHasLanguageCriterionTest::getInstance ( )
protected
Returns
ilTermsOfServiceUserHasLanguageCriterion

Definition at line 51 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

Referenced by testInstanceCanBeCreated().

+ Here is the caller graph for this function:

◆ languageProvider()

◆ setUp()

ilTermsOfServiceUserHasLanguageCriterionTest::setUp ( )

@inheritDoc

Reimplemented from ilTermsOfServiceBaseTest.

Definition at line 31 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

31 : void
32 {
33 parent::setUp();
34
35 $this->lng = $this->getLanguageMock();
36
37 $this->lng
38 ->expects($this->any())
39 ->method('txt')
40 ->willReturn('dummy');
41
42 $this->lng
43 ->expects($this->any())
44 ->method('getInstalledLanguages')
45 ->willReturn([$this->expectedAfterFormSubmitValue, $this->expectedInitialValue]);
46 }

References ilTermsOfServiceBaseTest\getLanguageMock().

+ Here is the call graph for this function:

◆ succeedingConfigProvider()

ilTermsOfServiceUserHasLanguageCriterionTest::succeedingConfigProvider ( )
Returns
array

Definition at line 231 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

231 : array
232 {
233 $criterion = $this->getInstance();
234
235 return [
236 'German Language' => [$criterion, $this->getCriterionConfig(['lng' => 'de'])],
237 'German Language Uppercase' => [$criterion, $this->getCriterionConfig(['lng' => 'DE'])],
238 ];
239 }

◆ testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage()

ilTermsOfServiceUserHasLanguageCriterionTest::testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage ( ilTermsOfServiceUserHasLanguageCriterion  $criterion,
ilTermsOfServiceCriterionConfig  $config 
)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion
ilTermsOfServiceCriterionConfig$config@dataProvider failingConfigProvider
Exceptions
ReflectionException

Definition at line 247 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

250 : void {
251 $user = $this->getUserMock();
252
253 $user
254 ->expects($this->any())
255 ->method('getLanguage')
256 ->willReturn('de');
257
258 $this->assertFalse($criterion->evaluate($user, $config));
259 }
evaluate(ilObjUser $user, ilTermsOfServiceCriterionConfig $config)
bool
if(!array_key_exists('PATH_INFO', $_SERVER)) $config
Definition: metadata.php:68

◆ testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage()

ilTermsOfServiceUserHasLanguageCriterionTest::testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage ( ilTermsOfServiceUserHasLanguageCriterion  $criterion,
ilTermsOfServiceCriterionConfig  $config 
)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion
ilTermsOfServiceCriterionConfig$config@dataProvider succeedingConfigProvider
Exceptions
ReflectionException

Definition at line 267 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

270 : void {
271 $user = $this->getUserMock();
272
273 $user
274 ->expects($this->any())
275 ->method('getLanguage')
276 ->willReturn('de');
277
278 $this->assertTrue($criterion->evaluate($user, $config));
279 }

◆ testFormUserInterfaceElementsAreProperlyBuilt()

ilTermsOfServiceUserHasLanguageCriterionTest::testFormUserInterfaceElementsAreProperlyBuilt ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion@depends testInstanceCanBeCreated
Returns
ilTermsOfServiceUserHasLanguageCriterion
Exceptions
ReflectionException

Definition at line 101 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

104 $httpCriterionSelectionBodyParameter = 'criterion';
105 $httpCriterionConfigBodyParameter = $criterion->getTypeIdent() . '_lng';
106
107 $gui = $criterion->ui($this->lng);
108
109 $this->assertInstanceOf(ilTermsOfServiceUserHasLanguageCriterionGUI::class, $gui);
110
111 $form = $this->buildForm($gui, $httpCriterionSelectionBodyParameter);
112
113 $languageSelection = $form->getItemByPostVar($httpCriterionConfigBodyParameter);
114 $this->assertInstanceOf(ilSelectInputGUI::class, $languageSelection);
115 $this->assertEquals($languageSelection->getValue(), $this->expectedInitialValue);
116
117 return $criterion;
118 }
buildForm(ilTermsOfServiceCriterionTypeGUI $gui, string $httpCriterionSelectionBodyParameter)
getTypeIdent()
Returns a unique id of the criterion type.string

◆ testInstanceCanBeCreated()

ilTermsOfServiceUserHasLanguageCriterionTest::testInstanceCanBeCreated ( )
Returns
ilTermsOfServiceUserHasLanguageCriterion

Definition at line 59 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

60 {
61 $criterion = $this->getInstance();
62
63 $this->assertEquals('usr_language', $criterion->getTypeIdent());
64 $this->assertEquals(true, $criterion->hasUniqueNature());
65
66 return $criterion;
67 }

References getInstance().

+ Here is the call graph for this function:

◆ testTypeIdentPresentationIsANonEmptyString()

ilTermsOfServiceUserHasLanguageCriterionTest::testTypeIdentPresentationIsANonEmptyString ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)

@depends testFormUserInterfaceElementsAreProperlyBuilt

Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion

Definition at line 154 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

156 : void {
157 $gui = $criterion->ui($this->lng);
158
159 $actual = $gui->getIdentPresentation();
160
161 $this->assertIsString($actual);
162 $this->assertNotEmpty($actual);
163 }

◆ testValuesFromFormUserInterfaceElementsCanBeRetrieved()

ilTermsOfServiceUserHasLanguageCriterionTest::testValuesFromFormUserInterfaceElementsCanBeRetrieved ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)

@depends testFormUserInterfaceElementsAreProperlyBuilt

Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion
Exceptions
ReflectionException

Definition at line 125 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

127 : void {
128 $httpCriterionSelectionBodyParameter = 'criterion';
129 $httpCriterionConfigBodyParameter = $criterion->getTypeIdent() . '_lng';
130
131 $gui = $criterion->ui($this->lng);
132
133 $form = $this->buildForm($gui, $httpCriterionSelectionBodyParameter);
134
135 $form
136 ->expects($this->once())
137 ->method('getInput')
138 ->with($httpCriterionConfigBodyParameter)
139 ->will($this->returnCallback(function () {
141 }));
142
143 $value = $gui->getConfigByForm($form);
144
145 $this->assertInstanceOf(ilTermsOfServiceCriterionConfig::class, $value);
146 $this->assertEquals($this->expectedAfterFormSubmitValue, $value['lng']);
147 $this->assertEquals($this->getCriterionConfig(['lng' => $this->expectedAfterFormSubmitValue]), $value);
148 }

Field Documentation

◆ $englishLanguageTranslation

ilTermsOfServiceUserHasLanguageCriterionTest::$englishLanguageTranslation = 'English'
protected

◆ $expectedAfterFormSubmitValue

ilTermsOfServiceUserHasLanguageCriterionTest::$expectedAfterFormSubmitValue = 'de'
protected

◆ $expectedInitialValue

ilTermsOfServiceUserHasLanguageCriterionTest::$expectedInitialValue = 'en'
protected

◆ $germanLanguageTranslation

ilTermsOfServiceUserHasLanguageCriterionTest::$germanLanguageTranslation = 'German'
protected

◆ $lng

ilTermsOfServiceUserHasLanguageCriterionTest::$lng
protected

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