MDL-60897 qtype_multianswer: Code style fixes
authorJun Pataleta <jun@moodle.com>
Tue, 30 Oct 2018 06:22:03 +0000 (14:22 +0800)
committerJun Pataleta <jun@moodle.com>
Wed, 31 Oct 2018 01:33:23 +0000 (09:33 +0800)
And Behat steps improvement, too!

question/type/multianswer/edit_multianswer_form.php
question/type/multianswer/tests/behat/add.feature

index 141d1f1..3644514 100644 (file)
@@ -513,15 +513,12 @@ class qtype_multianswer_edit_form extends question_edit_form {
                         }
                     }
                     if ($subquestion->qtype == 'multichoice' && $answercount < 2) {
-                            $errors[$prefix.'answer[0]'] =
-                                    get_string('notenoughanswers', 'qtype_multichoice', 2);
+                        $errors[$prefix.'answer[0]'] = get_string('notenoughanswers', 'qtype_multichoice', 2);
                     } else if ($answercount == 0) {
-                            $errors[$prefix.'answer[0]'] =
-                                    get_string('notenoughanswers', 'question', 1);
+                        $errors[$prefix.'answer[0]'] = get_string('notenoughanswers', 'question', 1);
                     }
                     if ($maxgrade == false) {
-                        $errors[$prefix.'fraction[0]'] =
-                                get_string('fractionsnomax', 'question');
+                        $errors[$prefix.'fraction[0]'] = get_string('fractionsnomax', 'question');
                     }
                     $sub++;
                 }
index 5bcb71f..f371d7e 100644 (file)
@@ -23,18 +23,28 @@ Feature: Test creating a Multianswer (Cloze) question
       | Question name        | multianswer-001                                     |
       | Question text        | {1:SHORTANSWER:=Berlin} is the capital of Germany.  |
       | 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
-    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 press "Add"
     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 "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"
-    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} |
     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"