ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTermsOfServiceUserHasLanguageCriterionTest Class Reference

Class ilTermsOfServiceUserHasLanguageCriterionTest. More...

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

Public Member Functions

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

Protected Member Functions

 setUp ()
 
 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

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

Detailed Description

Member Function Documentation

◆ buildForm()

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

Definition at line 73 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceCriterionTypeGUI\appendOption(), ilTermsOfServiceBaseTest\getCriterionConfig(), ilTermsOfServiceCriterionBaseTest\getFormMock(), and ilTermsOfServiceCriterionBaseTest\getRadioGroupMock().

Referenced by testFormUserInterfaceElementsAreProperlyBuilt(), and testValuesFromFormUserInterfaceElementsCanBeRetrieved().

77  $form = $this->getFormMock();
78 
79  $radioGroup = $this->getRadioGroupMock();
80 
81  $radioGroup
82  ->method('getPostVar')
83  ->willReturn($httpCriterionSelectionBodyParameter);
84 
85  $form->addItem($radioGroup);
86 
87  $gui->appendOption($radioGroup, $this->getCriterionConfig(['lng' => $this->expectedInitialValue]));
88 
89  return $form;
90  }
appendOption(ilRadioGroupInputGUI $group, ilTermsOfServiceCriterionConfig $config)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ failingConfigProvider()

ilTermsOfServiceUserHasLanguageCriterionTest::failingConfigProvider ( )

Definition at line 197 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceBaseTest\getCriterionConfig(), and getInstance().

197  : array
198  {
199  $criterion = $this->getInstance();
200 
201  return [
202  'English Language where German is Expected' => [$criterion, $this->getCriterionConfig(['lng' => 'en'])],
203  'Array' => [$criterion, $this->getCriterionConfig(['lng' => []])],
204  'Object' => [$criterion, $this->getCriterionConfig(['lng' => new stdClass()])],
205  'Double' => [$criterion, $this->getCriterionConfig(['lng' => 1.0])],
206  'Integer' => [$criterion, $this->getCriterionConfig(['lng' => 1])],
207  'Wrong Key Provided for Extracting Language' => [
208  $criterion,
209  $this->getCriterionConfig(['another_config_key' => true])
210  ],
211  'Empty Configuration' => [$criterion, $this->getCriterionConfig()],
212  ];
213  }
+ Here is the call graph for this function:

◆ getInstance()

ilTermsOfServiceUserHasLanguageCriterionTest::getInstance ( )
protected

Definition at line 53 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

Referenced by failingConfigProvider(), succeedingConfigProvider(), and testInstanceCanBeCreated().

+ Here is the caller graph for this function:

◆ languageProvider()

◆ setUp()

ilTermsOfServiceUserHasLanguageCriterionTest::setUp ( )
protected

Definition at line 38 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceBaseTest\getLanguageMock(), and ILIAS\Repository\lng().

38  : void
39  {
40  parent::setUp();
41 
42  $this->lng = $this->getLanguageMock();
43 
44  $this->lng
45  ->method('txt')
46  ->willReturn('dummy');
47 
48  $this->lng
49  ->method('getInstalledLanguages')
50  ->willReturn([$this->expectedAfterFormSubmitValue, $this->expectedInitialValue]);
51  }
+ Here is the call graph for this function:

◆ succeedingConfigProvider()

ilTermsOfServiceUserHasLanguageCriterionTest::succeedingConfigProvider ( )

Definition at line 215 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceBaseTest\getCriterionConfig(), and getInstance().

215  : array
216  {
217  $criterion = $this->getInstance();
218 
219  return [
220  'German Language' => [$criterion, $this->getCriterionConfig(['lng' => 'de'])],
221  'German Language Uppercase' => [$criterion, $this->getCriterionConfig(['lng' => 'DE'])],
222  ];
223  }
+ Here is the call graph for this function:

◆ testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage()

ilTermsOfServiceUserHasLanguageCriterionTest::testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage ( ilTermsOfServiceUserHasLanguageCriterion  $criterion,
ilTermsOfServiceCriterionConfig  $config 
)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion
ilTermsOfServiceCriterionConfig$configfailingConfigProvider

Definition at line 230 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceUserHasLanguageCriterion\evaluate(), and ilTermsOfServiceCriterionBaseTest\getUserMock().

233  : void {
234  $user = $this->getUserMock();
235 
236  $user
237  ->method('getLanguage')
238  ->willReturn('de');
239 
240  $this->assertFalse($criterion->evaluate($user, $config));
241  }
evaluate(ilObjUser $user, ilTermsOfServiceCriterionConfig $config)
+ Here is the call graph for this function:

◆ testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage()

ilTermsOfServiceUserHasLanguageCriterionTest::testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage ( ilTermsOfServiceUserHasLanguageCriterion  $criterion,
ilTermsOfServiceCriterionConfig  $config 
)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion
ilTermsOfServiceCriterionConfig$configsucceedingConfigProvider

Definition at line 248 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ilTermsOfServiceUserHasLanguageCriterion\evaluate(), and ilTermsOfServiceCriterionBaseTest\getUserMock().

251  : void {
252  $user = $this->getUserMock();
253 
254  $user
255  ->method('getLanguage')
256  ->willReturn('de');
257 
258  $this->assertTrue($criterion->evaluate($user, $config));
259  }
evaluate(ilObjUser $user, ilTermsOfServiceCriterionConfig $config)
+ Here is the call graph for this function:

◆ testFormUserInterfaceElementsAreProperlyBuilt()

ilTermsOfServiceUserHasLanguageCriterionTest::testFormUserInterfaceElementsAreProperlyBuilt ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)
Parameters
ilTermsOfServiceUserHasLanguageCriterion$criteriontestInstanceCanBeCreated
Returns
ilTermsOfServiceUserHasLanguageCriterion

Definition at line 97 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References $expectedInitialValue, buildForm(), ilTermsOfServiceUserHasLanguageCriterion\getTypeIdent(), ILIAS\Repository\lng(), and ilTermsOfServiceUserHasLanguageCriterion\ui().

100  $httpCriterionSelectionBodyParameter = 'criterion';
101  $httpCriterionConfigBodyParameter = $criterion->getTypeIdent() . '_lng';
102 
103  $gui = $criterion->ui($this->lng);
104 
105  $this->assertInstanceOf(ilTermsOfServiceUserHasLanguageCriterionGUI::class, $gui);
106 
107  $form = $this->buildForm($gui, $httpCriterionSelectionBodyParameter);
108 
109  $languageSelection = $form->getItemByPostVar($httpCriterionConfigBodyParameter);
110  $this->assertInstanceOf(ilSelectInputGUI::class, $languageSelection);
111  $this->assertSame($languageSelection->getValue(), $this->expectedInitialValue);
112 
113  return $criterion;
114  }
buildForm(ilTermsOfServiceCriterionTypeGUI $gui, string $httpCriterionSelectionBodyParameter)
+ Here is the call graph for this function:

◆ testInstanceCanBeCreated()

ilTermsOfServiceUserHasLanguageCriterionTest::testInstanceCanBeCreated ( )

Definition at line 58 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References getInstance().

59  {
60  $criterion = $this->getInstance();
61 
62  $this->assertSame('usr_language', $criterion->getTypeIdent());
63  $this->assertTrue($criterion->hasUniqueNature());
64 
65  return $criterion;
66  }
+ Here is the call graph for this function:

◆ testTypeIdentPresentationIsANonEmptyString()

ilTermsOfServiceUserHasLanguageCriterionTest::testTypeIdentPresentationIsANonEmptyString ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)

testFormUserInterfaceElementsAreProperlyBuilt

Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion

Definition at line 149 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References ILIAS\Repository\lng(), and ilTermsOfServiceUserHasLanguageCriterion\ui().

151  : void {
152  $gui = $criterion->ui($this->lng);
153 
154  $actual = $gui->getIdentPresentation();
155 
156  $this->assertIsString($actual);
157  $this->assertNotEmpty($actual);
158  }
+ Here is the call graph for this function:

◆ testValuesFromFormUserInterfaceElementsCanBeRetrieved()

ilTermsOfServiceUserHasLanguageCriterionTest::testValuesFromFormUserInterfaceElementsCanBeRetrieved ( ilTermsOfServiceUserHasLanguageCriterion  $criterion)

testFormUserInterfaceElementsAreProperlyBuilt

Parameters
ilTermsOfServiceUserHasLanguageCriterion$criterion

Definition at line 120 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

References $expectedAfterFormSubmitValue, buildForm(), ilTermsOfServiceBaseTest\getCriterionConfig(), ilTermsOfServiceUserHasLanguageCriterion\getTypeIdent(), ILIAS\Repository\lng(), and ilTermsOfServiceUserHasLanguageCriterion\ui().

122  : void {
123  $httpCriterionSelectionBodyParameter = 'criterion';
124  $httpCriterionConfigBodyParameter = $criterion->getTypeIdent() . '_lng';
125 
126  $gui = $criterion->ui($this->lng);
127 
128  $form = $this->buildForm($gui, $httpCriterionSelectionBodyParameter);
129 
130  $form
131  ->expects($this->once())
132  ->method('getInput')
133  ->with($httpCriterionConfigBodyParameter)
134  ->willReturnCallback(function () {
136  });
137 
138  $value = $gui->getConfigByForm($form);
139 
140  $this->assertInstanceOf(ilTermsOfServiceCriterionConfig::class, $value);
141  $this->assertSame($this->expectedAfterFormSubmitValue, $value['lng']);
142  $this->assertEquals($this->getCriterionConfig(['lng' => $this->expectedAfterFormSubmitValue]), $value);
143  }
buildForm(ilTermsOfServiceCriterionTypeGUI $gui, string $httpCriterionSelectionBodyParameter)
+ Here is the call graph for this function:

Field Documentation

◆ $englishLanguageTranslation

string ilTermsOfServiceUserHasLanguageCriterionTest::$englishLanguageTranslation = 'English'
protected

Definition at line 35 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

Referenced by languageProvider().

◆ $expectedAfterFormSubmitValue

string ilTermsOfServiceUserHasLanguageCriterionTest::$expectedAfterFormSubmitValue = 'de'
protected

◆ $expectedInitialValue

string ilTermsOfServiceUserHasLanguageCriterionTest::$expectedInitialValue = 'en'
protected

◆ $germanLanguageTranslation

string ilTermsOfServiceUserHasLanguageCriterionTest::$germanLanguageTranslation = 'German'
protected

Definition at line 36 of file ilTermsOfServiceUserHasLanguageCriterionTest.php.

Referenced by languageProvider().

◆ $lng

ilLanguage ilTermsOfServiceUserHasLanguageCriterionTest::$lng
protected

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