MDL-60897 qtype_multianswer: Code style fixes

And Behat steps improvement, too!
This commit is contained in:
Jun Pataleta 2018-10-30 14:22:03 +08:00
parent 5e997d239c
commit 446de56bfc
2 changed files with 18 additions and 11 deletions

View file

@ -513,15 +513,12 @@ class qtype_multianswer_edit_form extends question_edit_form {
} }
} }
if ($subquestion->qtype == 'multichoice' && $answercount < 2) { if ($subquestion->qtype == 'multichoice' && $answercount < 2) {
$errors[$prefix.'answer[0]'] = $errors[$prefix.'answer[0]'] = get_string('notenoughanswers', 'qtype_multichoice', 2);
get_string('notenoughanswers', 'qtype_multichoice', 2);
} else if ($answercount == 0) { } else if ($answercount == 0) {
$errors[$prefix.'answer[0]'] = $errors[$prefix.'answer[0]'] = get_string('notenoughanswers', 'question', 1);
get_string('notenoughanswers', 'question', 1);
} }
if ($maxgrade == false) { if ($maxgrade == false) {
$errors[$prefix.'fraction[0]'] = $errors[$prefix.'fraction[0]'] = get_string('fractionsnomax', 'question');
get_string('fractionsnomax', 'question');
} }
$sub++; $sub++;
} }

View file

@ -23,18 +23,28 @@ Feature: Test creating a Multianswer (Cloze) question
| Question name | multianswer-001 | | Question name | multianswer-001 |
| Question text | {1:SHORTANSWER:=Berlin} is the capital of Germany. | | Question text | {1:SHORTANSWER:=Berlin} is the capital of Germany. |
| General feedback | The capital of Germany is Berlin. | | General feedback | The capital of Germany is Berlin. |
Then I should see "multianswer-001" Then I should see "multianswer-001" in the "categoryquestions" "table"
Scenario: Create a broken Cloze question and correct it Scenario: Create a broken Cloze question and correct it
When I press "Create a new question ..." Given I press "Create a new question ..."
And I set the field "Embedded answers (Cloze)" to "1" And I set the field "Embedded answers (Cloze)" to "1"
And I press "Add" And I press "Add"
And I set the field "Question name" to "multianswer-002" And I set the field "Question name" to "multianswer-002"
And I set the field "Question text" to "Please select the fruits {1:MULTICHOICE:=Apple#Correct}" And I set the field "Question text" to "Please select the fruits {1:MULTICHOICE:=Apple#Correct}"
And I set the field "General feedback" to "Apple are delicious." And I set the field "General feedback" to "Apple are delicious."
And I press "id_submitbutton" When I press "id_submitbutton"
Then I should see "This type of question requires at least 2 choices" Then I should see "This type of question requires at least 2 choices"
When I set the following fields to these values: And I set the following fields to these values:
| Question text | Please select the fruits {1:MULTICHOICE:=Apple#Correct~Banana#Wrong} | | Question text | Please select the fruits {1:MULTICHOICE:=Apple#Correct~Banana#Wrong} |
And I press "id_submitbutton" And I press "id_submitbutton"
Then I should not see "This type of question requires at least 2 choices" And I should see "multianswer-002" in the "categoryquestions" "table"
Scenario: Try to create a Cloze question that has no answer
Given I press "Create a new question ..."
And I set the field "Embedded answers (Cloze)" to "1"
And I press "Add"
And I set the following fields to these values:
| Question name | multianswer-003 |
| Question text | {1:SHORTANSWER:= } is the capital of Germany. |
And I press "id_submitbutton"
And I should see "This type of question requires at least 1 answers"