1 <?php declare(strict_types=1);
38 ->expects($this->any())
40 ->willReturn(
'dummy');
43 ->expects($this->any())
44 ->method(
'getInstalledLanguages')
45 ->willReturn([$this->expectedAfterFormSubmitValue, $this->expectedInitialValue]);
63 $this->assertEquals(
'usr_language', $criterion->getTypeIdent());
64 $this->assertEquals(
true, $criterion->hasUniqueNature());
77 string $httpCriterionSelectionBodyParameter
84 ->expects($this->any())
85 ->method(
'getPostVar')
86 ->willReturn($httpCriterionSelectionBodyParameter);
88 $form->addItem($radioGroup);
104 $httpCriterionSelectionBodyParameter =
'criterion';
105 $httpCriterionConfigBodyParameter = $criterion->
getTypeIdent() .
'_lng';
107 $gui = $criterion->
ui($this->lng);
109 $this->assertInstanceOf(ilTermsOfServiceUserHasLanguageCriterionGUI::class, $gui);
111 $form = $this->
buildForm($gui, $httpCriterionSelectionBodyParameter);
113 $languageSelection = $form->getItemByPostVar($httpCriterionConfigBodyParameter);
114 $this->assertInstanceOf(ilSelectInputGUI::class, $languageSelection);
128 $httpCriterionSelectionBodyParameter =
'criterion';
129 $httpCriterionConfigBodyParameter = $criterion->
getTypeIdent() .
'_lng';
131 $gui = $criterion->
ui($this->lng);
133 $form = $this->
buildForm($gui, $httpCriterionSelectionBodyParameter);
136 ->expects($this->once())
138 ->with($httpCriterionConfigBodyParameter)
139 ->will($this->returnCallback(
function () {
143 $value = $gui->getConfigByForm($form);
145 $this->assertInstanceOf(ilTermsOfServiceCriterionConfig::class, $value);
146 $this->assertEquals($this->expectedAfterFormSubmitValue, $value[
'lng']);
147 $this->assertEquals($this->
getCriterionConfig([
'lng' => $this->expectedAfterFormSubmitValue]), $value);
157 $gui = $criterion->
ui($this->lng);
159 $actual = $gui->getIdentPresentation();
161 $this->assertIsString($actual);
162 $this->assertNotEmpty($actual);
173 'Invalid Languages' => [
'invalid_lng',
''],
183 public function testValuePresentationMatchesExpectation(
string $lng,
string $translation) :
void 188 ->expects($this->any())
190 ->with(
'meta_l_' . $lng,
'')
191 ->willReturn($translation);
194 $gui = $criterion->ui($language);
197 $actual = $gui->getValuePresentation(
202 $this->assertInstanceOf(Component::class, $actual);
203 $this->assertInstanceOf(Legacy::class, $actual);
204 $this->assertEquals($translation, $actual->getContent());
215 'English Language where German is Expected' => [$criterion, $this->
getCriterionConfig([
'lng' =>
'en'])],
220 'Wrong Key Provided for Extracting Language' => [
237 'German Language Uppercase' => [$criterion, $this->
getCriterionConfig([
'lng' =>
'DE'])],
254 ->expects($this->any())
255 ->method(
'getLanguage')
258 $this->assertFalse($criterion->
evaluate($user, $config));
274 ->expects($this->any())
275 ->method(
'getLanguage')
278 $this->assertTrue($criterion->
evaluate($user, $config));
Interface ilTermsOfServiceCriterionTypeGUI.
$germanLanguageTranslation
testEvaluationSucceedsIfUserLanguageDoesMatchDefinedLanguage(ilTermsOfServiceUserHasLanguageCriterion $criterion, ilTermsOfServiceCriterionConfig $config)
Class ilTermsOfServiceCriterionBaseTest.
$expectedAfterFormSubmitValue
Class ilTermsOfServiceCriterionConfig.
testFormUserInterfaceElementsAreProperlyBuilt(ilTermsOfServiceUserHasLanguageCriterion $criterion)
getCriterionConfig($value=null)
testValuesFromFormUserInterfaceElementsCanBeRetrieved(ilTermsOfServiceUserHasLanguageCriterion $criterion)
testFormUserInterfaceElementsAreProperlyBuilt
testEvaluationFailsIfUserLanguageDoesNotMatchDefinedLanguage(ilTermsOfServiceUserHasLanguageCriterion $criterion, ilTermsOfServiceCriterionConfig $config)
ui(ilLanguage $lng)
ilTermsOfServiceCriterionTypeGUI
Class ilTermsOfServiceUserHasLanguageCriterion.
evaluate(ilObjUser $user, ilTermsOfServiceCriterionConfig $config)
bool
appendOption(ilRadioGroupInputGUI $option, ilTermsOfServiceCriterionConfig $config)
succeedingConfigProvider()
buildForm(ilTermsOfServiceCriterionTypeGUI $gui, string $httpCriterionSelectionBodyParameter)
testInstanceCanBeCreated()
getTypeIdent()
Returns a unique id of the criterion type.string
Class ilTermsOfServiceUserHasLanguageCriterionTest.
testTypeIdentPresentationIsANonEmptyString(ilTermsOfServiceUserHasLanguageCriterion $criterion)
testFormUserInterfaceElementsAreProperlyBuilt
$englishLanguageTranslation