diff --git a/lib/behat/classes/behat_session_trait.php b/lib/behat/classes/behat_session_trait.php index dc9082795ba..a9c5f317f89 100644 --- a/lib/behat/classes/behat_session_trait.php +++ b/lib/behat/classes/behat_session_trait.php @@ -224,6 +224,22 @@ trait behat_session_trait { ]; } + /** + * Get a description of the selector and locator to use in an exception message. + * + * @param string $selector The type of locator + * @param mixed $locator The locator text + * @return string + */ + protected function get_selector_description(string $selector, $locator): string { + if ($selector === 'NodeElement') { + $description = $locator->getText(); + return "'{$description}' {$selector}"; + } + + return "'{$locator}' {$selector}"; + } + /** * Send key presses straight to the currently active element. * diff --git a/lib/behat/classes/partial_named_selector.php b/lib/behat/classes/partial_named_selector.php index f0d0ddcb96e..99c7d1b12a6 100644 --- a/lib/behat/classes/partial_named_selector.php +++ b/lib/behat/classes/partial_named_selector.php @@ -86,6 +86,7 @@ class behat_partial_named_selector extends \Behat\Mink\Selector\PartialNamedSele */ protected static $allowedselectors = array( 'activity' => 'activity', + 'actionmenu' => 'actionmenu', 'badge' => 'badge', 'block' => 'block', 'button' => 'button', @@ -138,6 +139,17 @@ class behat_partial_named_selector extends \Behat\Mink\Selector\PartialNamedSele protected static $moodleselectors = array( 'activity' => << << <<ensure_node_is_visible($node); $node->click(); } + + /** + * Select a specific item in an action menu. + * + * @When /^I choose the "(?P(?:[^"]|\\")*)" item in the "(?P(?:[^"]|\\")*)" action menu$/ + * @param string $item The item to choose + * @param string $actionmenu The text used in the description of the action menu + */ + public function i_choose_in_the_named_menu(string $item, string $actionmenu): void { + $menu = $this->find('actionmenu', $actionmenu); + $this->select_item_in_action_menu($item, $menu); + } + + /** + * Select a specific item in an action menu within a container. + * + * @When /^I choose the "(?P(?:[^"]|\\")*)" item in the "(?P(?:[^"]|\\")*)" action menu of the "(?P(?:[^"]|\\")*)" "(?P(?:[^"]|\\")*)"$/ + * @param string $item The item to choose + * @param string $actionmenu The text used in the description of the action menu + * @param string|NodeElement $locator The identifer used for the container + * @param string $selector The type of container to locate + */ + public function i_choose_in_the_named_menu_in_container(string $item, string $actionmenu, $locator, $selector): void { + $container = $this->find($selector, $locator); + $menu = $this->find('actionmenu', $actionmenu, false, $container); + $this->select_item_in_action_menu($item, $menu); + } + + /** + * Select an item in the specified menu. + * + * Note: This step does work both with, and without, JavaScript. + * + * @param string $item Item string value + * @param NodeElement $menu The menu NodeElement to select from + */ + protected function select_item_in_action_menu(string $item, NodeElement $menu): void { + if ($this->running_javascript()) { + // Open the menu by clicking on the trigger. + $this->execute( + 'behat_general::i_click_on', + [$menu, "NodeElement"] + ); + } + + // Select the menu item. + $this->execute( + 'behat_general::i_click_on_in_the', + [$item, "link", $menu, "NodeElement"] + ); + } + + /** + * The action menu item should not exist. + * + * @Then /^the "(?P(?:[^"]|\\")*)" item should not exist in the "(?P(?:[^"]|\\")*)" action menu$/ + * @param string $item The item to check + * @param string $actionmenu The text used in the description of the action menu + */ + public function item_should_not_exist(string $item, string $actionmenu): void { + $menu = $this->find('actionmenu', $actionmenu); + $this->execute('behat_general::should_not_exist_in_the', [ + $item, 'link', + $menu, 'NodeElement' + ]); + } + + /** + * The action menu item should not exist within a container. + * + * @Then /^the "(?P(?:[^"]|\\")*)" item should not exist in the "(?P(?:[^"]|\\")*)" action menu of the "(?P(?:[^"]|\\")*)" "(?P(?:[^"]|\\")*)"$/ + * @param string $item The item to check + * @param string $actionmenu The text used in the description of the action menu + * @param string|NodeElement $locator The identifer used for the container + * @param string $selector The type of container to locate + */ + public function item_should_not_exist_in_the(string $item, string $actionmenu, $locator, $selector): void { + $container = $this->find($selector, $locator); + $menu = $this->find('actionmenu', $actionmenu, false, $container); + $this->execute('behat_general::should_not_exist_in_the', [ + $item, 'link', + $menu, 'NodeElement' + ]); + } + + + /** + * The action menu item should exist. + * + * @Then /^the "(?P(?:[^"]|\\")*)" item should exist in the "(?P(?:[^"]|\\")*)" action menu$/ + * @param string $item The item to check + * @param string $actionmenu The text used in the description of the action menu + */ + public function item_should_exist(string $item, string $actionmenu): void { + $menu = $this->find('actionmenu', $actionmenu); + $this->execute('behat_general::should_exist_in_the', [ + $item, 'link', + $menu, 'NodeElement' + ]); + } + + /** + * The action menu item should exist within a container. + * + * @Then /^the "(?P(?:[^"]|\\")*)" item should exist in the "(?P(?:[^"]|\\")*)" action menu of the "(?P(?:[^"]|\\")*)" "(?P(?:[^"]|\\")*)"$/ + * @param string $item The item to check + * @param string $actionmenu The text used in the description of the action menu + * @param string|NodeElement $locator The identifer used for the container + * @param string $selector The type of container to locate + */ + public function item_should_exist_in_the(string $item, string $actionmenu, $locator, $selector): void { + $container = $this->find($selector, $locator); + $menu = $this->find('actionmenu', $actionmenu, false, $container); + $this->execute('behat_general::should_exist_in_the', [ + $item, 'link', + $menu, 'NodeElement' + ]); + } } diff --git a/lib/tests/behat/behat_general.php b/lib/tests/behat/behat_general.php index e421253d68e..6beb204bc2a 100644 --- a/lib/tests/behat/behat_general.php +++ b/lib/tests/behat/behat_general.php @@ -1209,7 +1209,8 @@ EOF; $containernode = $this->find($containerselectortype, $containerelement); // Specific exception giving info about where can't we find the element. - $locatorexceptionmsg = "{$element} in the {$containerelement} {$containerselectortype}"; + $containerdescription = $this->get_selector_description($containerselectortype, $containerelement); + $locatorexceptionmsg = "{$element} not found in the {$containerdescription}}"; $exception = new ElementNotFoundException($this->getSession(), $selectortype, null, $locatorexceptionmsg); // Looks for the requested node inside the container node. @@ -1243,8 +1244,10 @@ EOF; } // The element was found and should not have been. Throw an exception. + $elementdescription = $this->get_selector_description($selectortype, $element); + $containerdescription = $this->get_selector_description($containerselectortype, $containerelement); throw new ExpectationException( - "The '{$element}' '{$selectortype}' exists in the '{$containerelement}' '{$containerselectortype}'", + "The {$elementdescription} exists in the {$containerdescription}", $this->getSession() ); } diff --git a/mod/quiz/report/overview/tests/behat/regrading.feature b/mod/quiz/report/overview/tests/behat/regrading.feature index 58d1bd60514..7b78eb58321 100644 --- a/mod/quiz/report/overview/tests/behat/regrading.feature +++ b/mod/quiz/report/overview/tests/behat/regrading.feature @@ -1,8 +1,8 @@ @mod @mod_quiz @quiz @quiz_overview @javascript Feature: Regrading quiz attempts using the Grades report - In order to be able to correct mistakes I made setting up my quiz - As a teacher - I need to be able to re-grade attempts after editing questions + In order to be able to correct mistakes I made setting up my quiz + As a teacher + I need to be able to re-grade attempts after editing questions Background: Given the following "users" exist: @@ -24,24 +24,24 @@ Feature: Regrading quiz attempts using the Grades report | contextlevel | reference | name | | Course | C1 | Test questions | And the following "activities" exist: - | activity | name | course | idnumber | - | quiz | Quiz for testing regrading | C1 | quiz1 | + | activity | name | course | idnumber | + | quiz | Quiz for testing regrading | C1 | quiz1 | And the following "questions" exist: - | questioncategory | qtype | name | - | Test questions | truefalse | TF | - | Test questions | shortanswer | SA | + | questioncategory | qtype | name | + | Test questions | truefalse | TF | + | Test questions | shortanswer | SA | And quiz "Quiz for testing regrading" contains the following questions: | question | page | maxmark | | TF | 1 | 5.0 | | SA | 1 | 5.0 | And user "student1" has attempted "Quiz for testing regrading" with responses: | slot | response | - | 1 | True | - | 2 | frog | + | 1 | True | + | 2 | frog | And user "student2" has attempted "Quiz for testing regrading" with responses: | slot | response | - | 1 | True | - | 2 | toad | + | 1 | True | + | 2 | toad | Scenario: Regrade all attempts Given I am on the "Quiz for testing regrading" "quiz activity" page logged in as teacher @@ -76,8 +76,7 @@ Feature: Regrading quiz attempts using the Grades report And I should see "Overall number of students achieving grade ranges" Scenario: Dry-run a full regrade, then regrade the attempts that will need it. - Given I am on the "Quiz for testing regrading" "quiz activity" page logged in as teacher - When I navigate to "Questions" in current page administration + Given I am on the "Quiz for testing regrading" "mod_quiz > edit" page logged in as teacher And I follow "Edit question SA" And I set the field "id_fraction_1" to "50%" And I press "id_submitbutton" @@ -123,11 +122,11 @@ Feature: Regrading quiz attempts using the Grades report And I should see "Quiz for testing regrading" And I should see "Overall number of students achieving grade ranges" And "Student One" row "Regrade" column of "attempts" table should not contain "Needed" - And I navigate to "Question bank" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > question bank" page And I choose "Edit question" action for "TF" in the question bank And I set the field "Correct answer" to "False" And I press "id_submitbutton" - And I navigate to "Questions" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > edit" page And I set the field "version" in the "TF" "list_item" to "v2 (latest)" And I navigate to "Results" in current page administration And I press "Dry run a full regrade" @@ -148,10 +147,10 @@ Feature: Regrading quiz attempts using the Grades report And I click on "mod-quiz-report-overview-report-selectall-attempts" "checkbox" And I click on "Delete selected attempts" "button" And I click on "Yes" "button" - And I navigate to "Questions" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > edit" page And I should see "(latest)" in the "TF" "list_item" # Create multiple question versions. - And I navigate to "Question bank" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > question bank" page And I choose "Edit question" action for "TF" in the question bank And I set the field "Correct answer" to "True" And I press "id_submitbutton" @@ -159,7 +158,7 @@ Feature: Regrading quiz attempts using the Grades report And I set the field "Question name" to "New version of TF" And I set the field "Correct answer" to "False" And I press "id_submitbutton" - And I navigate to "Questions" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > edit" page And I should see "(latest)" in the "TF" "list_item" And I click on "version" "select" in the "TF" "list_item" And I should see "v1" @@ -169,9 +168,9 @@ Feature: Regrading quiz attempts using the Grades report And I set the field "version" in the "TF" "list_item" to "v1" And user "student3" has attempted "Quiz for testing regrading" with responses: | slot | response | - | 1 | True | - | 2 | toad | - And I navigate to "Questions" in current page administration + | 1 | True | + | 2 | toad | + And I am on the "Quiz for testing regrading" "mod_quiz > edit" page And I set the field "version" in the "TF" "list_item" to "Always latest" And I navigate to "Results" in current page administration And I press "Regrade all" @@ -188,10 +187,10 @@ Feature: Regrading quiz attempts using the Grades report And I click on "Delete selected attempts" "button" And I click on "Yes" "button" # Create multiple question versions. - And I navigate to "Question bank" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > question bank" page And I choose "Delete" action for "SA" in the question bank And I press "Delete" - And I navigate to "Questions" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > edit" page And I click on "Delete" "link" in the "TF" "list_item" And I click on "Yes" "button" in the "Confirm" "dialogue" And I click on "Delete" "link" in the "SA" "list_item" @@ -207,8 +206,7 @@ Feature: Regrading quiz attempts using the Grades report And I click on "Finish attempt ..." "button" And I press "Submit all and finish" And I click on "Submit all and finish" "button" in the "Confirmation" "dialogue" - And I am on the "Quiz for testing regrading" "quiz activity" page logged in as teacher - And I navigate to "Question bank" in current page administration + And I am on the "Quiz for testing regrading" "mod_quiz > question bank" page logged in as teacher And I choose "Edit question" action for "TF" in the question bank And I set the field "Correct answer" to "False" And I press "id_submitbutton" diff --git a/mod/quiz/tests/behat/behat_mod_quiz.php b/mod/quiz/tests/behat/behat_mod_quiz.php index a4f777619d1..5c2198b057b 100644 --- a/mod/quiz/tests/behat/behat_mod_quiz.php +++ b/mod/quiz/tests/behat/behat_mod_quiz.php @@ -71,6 +71,7 @@ class behat_mod_quiz extends behat_question_base { * | Manual grading report | Quiz name | The manual grading report for a quiz | * | Statistics report | Quiz name | The statistics report for a quiz | * | Attempt review | Quiz name > username > [Attempt] attempt no | Review page for a given attempt (review.php) | + * | Question bank | Quiz name | The question bank page for a quiz | * * @param string $type identifies which type of page this is, e.g. 'Attempt review'. * @param string $identifier identifies the particular page, e.g. 'Test quiz > student > Attempt 1'. @@ -141,6 +142,12 @@ class behat_mod_quiz extends behat_question_base { ['quiz' => $quiz->id, 'userid' => $user->id, 'attempt' => $attemptno], '*', MUST_EXIST); return new moodle_url('/mod/quiz/review.php', ['attempt' => $attempt->id]); + case 'question bank': + return new moodle_url('/question/edit.php', [ + 'cmid' => $this->get_cm_by_quiz_name($identifier)->id, + ]); + + default: throw new Exception('Unrecognised quiz page type "' . $type . '."'); } diff --git a/question/bank/bulkmove/tests/behat/bulk_move.feature b/question/bank/bulkmove/tests/behat/bulk_move.feature index 6ddf0980a88..9acf88e3392 100644 --- a/question/bank/bulkmove/tests/behat/bulk_move.feature +++ b/question/bank/bulkmove/tests/behat/bulk_move.feature @@ -22,15 +22,13 @@ Feature: Use the qbank plugin manager page for bulkmove When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Bulk move questions" And I click on "Disable" "link" in the "Bulk move questions" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I click on "First question" "checkbox" And I click on "With selected" "button" Then I should not see question bulk action "move" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Bulk move questions" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I click on "First question" "checkbox" And I click on "With selected" "button" And I should see question bulk action "move" diff --git a/question/bank/columnsortorder/tests/behat/columnsortorder.feature b/question/bank/columnsortorder/tests/behat/columnsortorder.feature index 0c3be762255..82e81ea40b4 100644 --- a/question/bank/columnsortorder/tests/behat/columnsortorder.feature +++ b/question/bank/columnsortorder/tests/behat/columnsortorder.feature @@ -1,8 +1,8 @@ @qbank @qbank_columnsortorder @javascript Feature: An plugin column can be reordered and displayed in the question bank view. - In order to reorganise the question bank view columns - As an admin - I need to be able to reorder them + In order to reorganise the question bank view columns + As an admin + I need to be able to reorder them Background: Given the following "users" exist: @@ -16,8 +16,8 @@ Feature: An plugin column can be reordered and displayed in the question bank vi | course | C1 | | name | Test quiz Q001 | And the following "course enrolments" exist: - | user | course | role | - | teacher1 | C1 | editingteacher | + | user | course | role | + | teacher1 | C1 | editingteacher | And the following "question category" exist: | contextlevel | reference | name | | Activity module | Test quiz Q001 | Question category 1 | @@ -26,8 +26,7 @@ Feature: An plugin column can be reordered and displayed in the question bank vi | Question category 1 | essay | Test question to be seen | teacher1 | Write about whatever you want | idnumber1 | Scenario: Teacher can see proper view - Given I am on the "Test quiz Q001" "quiz activity" page logged in as "teacher1" - When I navigate to "Question bank" in current page administration + Given I am on the "Test quiz Q001" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "category" to "Question category 1" And I should see "Test question to be seen" Then I should see "Teacher 1" @@ -36,8 +35,7 @@ Feature: An plugin column can be reordered and displayed in the question bank vi Given I log in as "admin" When I navigate to "Plugins > Question bank plugins > Column sort order" in site administration And I drag "Created by (creator_name_column)" "text" and I drop it in "T (question_type_column)" "text" - And I am on the "Test quiz Q001" "quiz activity" page logged in as "teacher1" - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz Q001" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "category" to "Question category 1" Then ".creatorname" "css_element" should appear before ".qtype" "css_element" diff --git a/question/bank/comment/tests/behat/question_comment.feature b/question/bank/comment/tests/behat/question_comment.feature index 18e306eff1d..2ed1b405efa 100644 --- a/question/bank/comment/tests/behat/question_comment.feature +++ b/question/bank/comment/tests/behat/question_comment.feature @@ -14,20 +14,18 @@ Feature: A Teacher can comment in a question | teacher1 | C1 | editingteacher | | teacher2 | C1 | editingteacher | And the following "activities" exist: - | activity | name | course | idnumber | - | quiz | Test quiz | C1 | quiz1 | + | activity | name | course | idnumber | + | quiz | Test quiz | C1 | quiz1 | And the following "question categories" exist: - | contextlevel | reference | name | - | Course | C1 | Test questions | + | contextlevel | reference | name | + | Course | C1 | Test questions | And the following "questions" exist: | questioncategory | qtype | name | questiontext | | Test questions | truefalse | First question | Answer the first question | @javascript Scenario: Add a comment in question - Given I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "Select a category" to "Test questions" And I should see "0" on the comments column When I click "0" on the row on the comments column @@ -39,9 +37,7 @@ Feature: A Teacher can comment in a question @javascript Scenario: Delete a comment from question - Given I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "Select a category" to "Test questions" And I should see "0" on the comments column When I click "0" on the row on the comments column @@ -58,9 +54,7 @@ Feature: A Teacher can comment in a question @javascript Scenario: Preview question with comments - Given I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "Select a category" to "Test questions" And I choose "Preview" action for "First question" in the question bank And I click on "Comments" "link" @@ -86,9 +80,7 @@ Feature: A Teacher can comment in a question | moodle/question:commentmine | Allow | | moodle/question:commentall | Prevent | And I log out - Then I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I set the field "Select a category" to "Test questions" And I choose "Preview" action for "First question" in the question bank Then I should not see "Save comment" @@ -105,10 +97,7 @@ Feature: A Teacher can comment in a question And I click on "Comments" "link" Then I should see "Save comment" And I log out - Then I log in as "teacher2" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I set the field "Select a category" to "Test questions" + And I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher2" And I choose "Preview" action for "First question" in the question bank Then I should not see "Save comment" And I click on "Close preview" "button" @@ -118,9 +107,7 @@ Feature: A Teacher can comment in a question @javascript Scenario: Comments added from the quiz page are visible - Given I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - When I navigate to "Questions" in current page administration + Given I am on the "Test quiz" "mod_quiz > edit" page logged in as "teacher1" And I press "Add" And I follow "from question bank" And I click on "Select" "checkbox" in the "First question" "table_row" @@ -132,16 +119,14 @@ Feature: A Teacher can comment in a question And I click on "Save comment" "link" And I should see "Some new comment" And I switch to the main window - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I choose "Preview" action for "First question" in the question bank And I click on "Comments" "link" And I should see "Some new comment" And I should see "T1 Teacher1" And I delete "Some new comment" comment from question preview And I should not see "Some new comment" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Questions" in current page administration + And I am on the "Test quiz" "mod_quiz > edit" page And I click on "Preview question" "link" And I switch to "questionpreview" window And I press "Comments" diff --git a/question/bank/comment/tests/behat/question_comment_column.feature b/question/bank/comment/tests/behat/question_comment_column.feature index 59824a2bad9..74006caf219 100644 --- a/question/bank/comment/tests/behat/question_comment_column.feature +++ b/question/bank/comment/tests/behat/question_comment_column.feature @@ -22,11 +22,9 @@ Feature: Use the qbank plugin manager page for comment When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Question comments" And I click on "Disable" "link" in the "Question comments" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then "#categoryquestions .header.commentcount" "css_element" should not be visible And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Question comments" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And "#categoryquestions .header.commentcount" "css_element" should be visible diff --git a/question/bank/customfields/tests/behat/customfield_question.feature b/question/bank/customfields/tests/behat/customfield_question.feature index 133c1f0169f..660f3f70ca7 100644 --- a/question/bank/customfields/tests/behat/customfield_question.feature +++ b/question/bank/customfields/tests/behat/customfield_question.feature @@ -37,8 +37,7 @@ Feature: A teacher can edit question with custom fields | Correct answer | False | | Feedback for the response 'True'. | So you think it is true | | Feedback for the response 'False'. | So you think it is false | - And I am on the "Test quiz name" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz name" "mod_quiz > question bank" page Scenario: Edit a previously created question and see the custom field in the overview table and in the question preview. When I choose "Edit question" action for "First question" in the question bank diff --git a/question/bank/customfields/tests/behat/customfield_question_visbility.feature b/question/bank/customfields/tests/behat/customfield_question_visbility.feature index 9ca11ff967f..def18fe2a2c 100644 --- a/question/bank/customfields/tests/behat/customfield_question_visbility.feature +++ b/question/bank/customfields/tests/behat/customfield_question_visbility.feature @@ -37,8 +37,7 @@ Feature: The visibility of question custom fields control where they are display | Correct answer | False | | Feedback for the response 'True'. | So you think it is true | | Feedback for the response 'False'. | So you think it is false | - And I am on the "Test quiz name" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz name" "mod_quiz > question bank" page @javascript Scenario: Display custom question fields to teachers based on their visibility. diff --git a/question/bank/deletequestion/tests/behat/delete_question_column.feature b/question/bank/deletequestion/tests/behat/delete_question_column.feature index cdd38b623ad..c20b49baecf 100644 --- a/question/bank/deletequestion/tests/behat/delete_question_column.feature +++ b/question/bank/deletequestion/tests/behat/delete_question_column.feature @@ -22,16 +22,12 @@ Feature: Use the qbank plugin manager page for deletequestion When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Delete question" And I click on "Disable" "link" in the "Delete question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - Then I should not see "Delete" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "Delete" action should not exist for the "First question" question in the question bank And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Delete question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "Delete" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + And the "Delete" action should exist for the "First question" question in the question bank @javascript Scenario: Enable/disable delete questions bulk action from the base view @@ -39,22 +35,18 @@ Feature: Use the qbank plugin manager page for deletequestion When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Delete question" And I click on "Disable" "link" in the "Delete question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I click on "With selected" "button" Then I should not see question bulk action "deleteselected" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Delete question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I click on "With selected" "button" And I should see question bulk action "deleteselected" @javascript Scenario: I should not see the deleted questions in the base view - Given I log in as "admin" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "admin" And I click on "First question" "checkbox" And I click on "First question second" "checkbox" And I click on "With selected" "button" diff --git a/question/bank/editquestion/tests/behat/qbank_editquestion.feature b/question/bank/editquestion/tests/behat/qbank_editquestion.feature index b85b15cd67c..7614c0989b7 100644 --- a/question/bank/editquestion/tests/behat/qbank_editquestion.feature +++ b/question/bank/editquestion/tests/behat/qbank_editquestion.feature @@ -22,18 +22,13 @@ Feature: Use the qbank plugin manager page for editquestion When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Edit question" And I click on "Disable" "link" in the "Edit question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "Status" - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should not see "Edit question" in the "region-main" "region" - And I should not see "Duplicate" in the "region-main" "region" + And the "Edit question" action should not exist for the "First question" question in the question bank + And the "Duplicate" action should not exist for the "First question" question in the question bank And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Edit question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should see "Status" - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "Edit question" in the "region-main" "region" - And I should see "Duplicate" in the "region-main" "region" + And the "Edit question" action should exist for the "First question" question in the question bank + And the "Duplicate" action should exist for the "First question" question in the question bank diff --git a/question/bank/editquestion/tests/behat/question_status.feature b/question/bank/editquestion/tests/behat/question_status.feature index db6349647a9..e66622bf527 100644 --- a/question/bank/editquestion/tests/behat/question_status.feature +++ b/question/bank/editquestion/tests/behat/question_status.feature @@ -19,9 +19,7 @@ Feature: Use the qbank base view to test the status change using @javascript Scenario: Question status dropdown should change the status of the question - Given I log in as "admin" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "admin" And I set the field "Select a category" to "Test questions" And I should see "Test questions" And the field "question_status_dropdown" in the "First question" "table_row" matches value "Ready" diff --git a/question/bank/exporttoxml/tests/behat/export_to_xml_action.feature b/question/bank/exporttoxml/tests/behat/export_to_xml_action.feature index f172d6c0f64..64ef39857c7 100644 --- a/question/bank/exporttoxml/tests/behat/export_to_xml_action.feature +++ b/question/bank/exporttoxml/tests/behat/export_to_xml_action.feature @@ -21,13 +21,9 @@ Feature: Use the qbank plugin manager page for exporttoxml When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Export to XML" And I click on "Disable" "link" in the "Export to XML" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - Then I should not see "Export as Moodle XML" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "Export as Moodle XML" action should not exist for the "First question" question in the question bank And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Export to XML" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "Export as Moodle XML" + And I am on the "Test quiz" "mod_quiz > question bank" page + And the "Export as Moodle XML" action should exist for the "First question" question in the question bank diff --git a/question/bank/history/tests/behat/question_history_action.feature b/question/bank/history/tests/behat/question_history_action.feature index 982c9070f04..6a39b0852f9 100644 --- a/question/bank/history/tests/behat/question_history_action.feature +++ b/question/bank/history/tests/behat/question_history_action.feature @@ -22,21 +22,15 @@ Feature: Use the qbank plugin manager page for question history When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Question history" And I click on "Disable" "link" in the "Question history" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - Then I should not see "History" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "History" action should not exist for the "First question" question in the question bank And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Question history" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "History" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "History" action should exist for the "First question" question in the question bank Scenario: History page shows only the specified features and questions - Given I log in as "admin" - And I am on the "Test quiz" "quiz activity" page - When I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "admin" And I choose "History" action for "First question" in the question bank Then I should not see "Select a category" And I should see "No tag filters applied" @@ -46,8 +40,6 @@ Feature: Use the qbank plugin manager page for question history And I should see "Version" And I should see "Created by" And I should see "First question" - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - But I should not see "History" + And the "History" action should not exist for the "First question" question in the question bank And I click on "#qbank-history-close" "css_element" - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "History" in the "region-main" "region" + And the "History" action should exist for the "First question" question in the question bank diff --git a/question/bank/history/tests/behat/question_version_column.feature b/question/bank/history/tests/behat/question_version_column.feature index 87d365d375f..81ddace0cb7 100644 --- a/question/bank/history/tests/behat/question_version_column.feature +++ b/question/bank/history/tests/behat/question_version_column.feature @@ -21,11 +21,9 @@ Feature: Use the qbank plugin manager page for version column And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Question history" When I click on "Disable" "link" in the "Question history" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "Version" in the "region-main" "region" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Question history" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "Version" in the "region-main" "region" diff --git a/question/bank/managecategories/tests/behat/move_question_categories.feature b/question/bank/managecategories/tests/behat/move_question_categories.feature index c73897ae1b1..85953139c70 100644 --- a/question/bank/managecategories/tests/behat/move_question_categories.feature +++ b/question/bank/managecategories/tests/behat/move_question_categories.feature @@ -15,14 +15,11 @@ Feature: A teacher can move question categories in the question bank | user | course | role | | teacher1 | C1 | editingteacher | And the following "activities" exist: - | activity | name | course | idnumber | - | quiz | Test quiz | C1 | quiz1 | - And I log in as "teacher1" - And I am on "Course 1" course homepage + | activity | name | course | idnumber | + | quiz | Test quiz | C1 | quiz1 | Scenario: A question category can be moved to another context - When I follow "Test quiz" - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I select "Categories" from the "Question bank tertiary navigation" singleselect And I follow "Add category" And I set the following fields to these values: @@ -33,8 +30,7 @@ Feature: A teacher can move question categories in the question bank Then I should see "Test category" in the "//div[contains(concat(' ', normalize-space(@class), ' '), ' questioncategories ') and contains(concat(' ', normalize-space(@class), ' '), ' contextlevel50 ')]" "xpath_element" Scenario: A question category can be moved to top level - When I follow "Test quiz" - And I navigate to "Question bank" in current page administration + Given I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" And I select "Categories" from the "Question bank tertiary navigation" singleselect And I follow "Add category" And I set the following fields to these values: diff --git a/question/bank/managecategories/tests/behat/view_manage_categories_plugin.feature b/question/bank/managecategories/tests/behat/view_manage_categories_plugin.feature index ac121f0ef54..d50f3d288a9 100644 --- a/question/bank/managecategories/tests/behat/view_manage_categories_plugin.feature +++ b/question/bank/managecategories/tests/behat/view_manage_categories_plugin.feature @@ -25,8 +25,7 @@ Feature: Use the qbank plugin manager page for managecategories Then "Categories" "link" should not exist in current page administration And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Manage categories" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "Categories" in the "//div[contains(@class, 'urlselect')]//option[contains(text(), 'Categories')]" "xpath_element" Scenario: Enable/disable the tab New category when tyring to add a random question to a quiz diff --git a/question/bank/previewquestion/tests/behat/preview_question.feature b/question/bank/previewquestion/tests/behat/preview_question.feature index 976a3fc20cb..b552815b27c 100644 --- a/question/bank/previewquestion/tests/behat/preview_question.feature +++ b/question/bank/previewquestion/tests/behat/preview_question.feature @@ -1,4 +1,4 @@ -@qbank @qbank_previewquestion @javascript +@qbank @qbank_previewquestion Feature: A teacher can preview questions in the question bank In order to ensure the questions are properly created As a teacher @@ -23,9 +23,7 @@ Feature: A teacher can preview questions in the question bank And the following "questions" exist: | questioncategory | qtype | name | | Test questions | numerical | Test question to be previewed | - And I log in as "teacher1" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page logged in as "teacher1" When I choose "Preview" action for "Test question to be previewed" in the question bank Scenario: Question preview shows the question and other information diff --git a/question/bank/previewquestion/tests/behat/preview_question_action.feature b/question/bank/previewquestion/tests/behat/preview_question_action.feature index ce758a803a9..8123cb5e943 100644 --- a/question/bank/previewquestion/tests/behat/preview_question_action.feature +++ b/question/bank/previewquestion/tests/behat/preview_question_action.feature @@ -16,37 +16,28 @@ Feature: Use the qbank plugin manager page for previewquestion | questioncategory | qtype | name | questiontext | | Test questions | truefalse | First question | Answer the first question | - @javascript Scenario: Enable/disable previewquestion column from the base view Given I log in as "admin" When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Preview question" And I click on "Disable" "link" in the "Preview question" "table_row" - And I am on the "C1" "Course" page - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".action-menu" "css_element" in the "First question" "table_row" - Then I should not see "Preview" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "Preview" item should not exist in the "Edit" action menu of the "First question" "table_row" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Preview question" "table_row" - And I am on the "C1" "Course" page - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".action-menu" "css_element" in the "First question" "table_row" - And I should see "Preview" in the "region-main" "region" + And I am on the "Test quiz" "mod_quiz > question bank" page + And the "Preview" item should exist in the "Edit" action menu of the "First question" "table_row" Scenario: Enable/disable preview button from question edit form Given I log in as "admin" When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Preview question" And I click on "Disable" "link" in the "Preview question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I choose "Edit question" action for "First question" in the question bank Then I should not see "Preview" in the "region-main" "region" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Preview question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I choose "Edit question" action for "First question" in the question bank And I should see "Preview" in the "region-main" "region" diff --git a/question/bank/statistics/tests/behat/statistics_action.feature b/question/bank/statistics/tests/behat/statistics_action.feature index 1ffaccc58bf..9a5b274640d 100644 --- a/question/bank/statistics/tests/behat/statistics_action.feature +++ b/question/bank/statistics/tests/behat/statistics_action.feature @@ -21,15 +21,13 @@ Feature: Use the qbank plugin manager page for statistics When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Question statistics" And I click on "Disable" "link" in the "Question statistics" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "Facility index" And I should not see "Discriminative efficiency" And I should not see "Needs checking?" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Question statistics" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "Facility index" And I should see "Discriminative efficiency" And I should see "Needs checking?" diff --git a/question/bank/statistics/tests/behat/statistics_values.feature b/question/bank/statistics/tests/behat/statistics_values.feature index 24d301a4a34..a65a7f58275 100644 --- a/question/bank/statistics/tests/behat/statistics_values.feature +++ b/question/bank/statistics/tests/behat/statistics_values.feature @@ -70,11 +70,10 @@ Feature: Show statistics in question bank | 2 | True | And user "student2" has attempted "Quiz 2" with responses: | slot | response | - | 1 | True | - | 2 | True | - When I am on the "Course 1" course page logged in as admin - And I navigate to "Question bank" in current page administration - And I should see "50.00%" in the "TF1" "table_row" + | 1 | True | + | 2 | True | + When I am on the "Course 1" "core_question > course question bank" page logged in as "admin" + Then I should see "50.00%" in the "TF1" "table_row" And I should see "75.00%" in the "TF2" "table_row" And I should see "75.00%" in the "TF3" "table_row" And I should see "50.00%" in the "TF4" "table_row" @@ -82,15 +81,14 @@ Feature: Show statistics in question bank Scenario: View discriminative efficiency in question bank Given user "student1" has attempted "Quiz 2" with responses: | slot | response | - | 1 | False | - | 2 | False | + | 1 | False | + | 2 | False | And user "student2" has attempted "Quiz 2" with responses: | slot | response | - | 1 | True | - | 2 | True | - When I am on the "Course 1" course page logged in as admin - And I navigate to "Question bank" in current page administration - And I should see "50.00%" in the "TF1" "table_row" + | 1 | True | + | 2 | True | + When I am on the "Course 1" "core_question > course question bank" page logged in as "admin" + Then I should see "50.00%" in the "TF1" "table_row" And I should see "75.00%" in the "TF2" "table_row" And I should see "75.00%" in the "TF3" "table_row" And I should see "50.00%" in the "TF4" "table_row" @@ -98,15 +96,14 @@ Feature: Show statistics in question bank Scenario: View discrimination index in question bank, good questions Given user "student1" has attempted "Quiz 2" with responses: | slot | response | - | 1 | False | - | 2 | False | + | 1 | False | + | 2 | False | And user "student2" has attempted "Quiz 2" with responses: | slot | response | - | 1 | True | - | 2 | True | - When I am on the "Course 1" course page logged in as admin - And I navigate to "Question bank" in current page administration - And I should see "Likely" in the "TF1" "table_row" + | 1 | True | + | 2 | True | + When I am on the "Course 1" "core_question > course question bank" page logged in as "admin" + Then I should see "Likely" in the "TF1" "table_row" And I should see "Unlikely" in the "TF2" "table_row" And I should see "Unlikely" in the "TF3" "table_row" And I should see "Likely" in the "TF4" "table_row" @@ -116,19 +113,18 @@ Feature: Show statistics in question bank Scenario: View discrimination index in question bank, bad questions Given user "student1" has attempted "Quiz 2" with responses: | slot | response | - | 1 | True | - | 2 | True | + | 1 | True | + | 2 | True | And user "student2" has attempted "Quiz 2" with responses: | slot | response | - | 1 | False | - | 2 | True | + | 1 | False | + | 2 | True | And user "student3" has attempted "Quiz 2" with responses: | slot | response | - | 1 | True | - | 2 | False | - When I am on the "Course 1" course page logged in as admin - And I navigate to "Question bank" in current page administration - And I should see "Likely" in the "TF1" "table_row" + | 1 | True | + | 2 | False | + When I am on the "Course 1" "core_question > course question bank" page logged in as "admin" + Then I should see "Likely" in the "TF1" "table_row" And I should see "Very likely" in the "TF2" "table_row" And I should see "Very likely" in the "TF3" "table_row" And I should see "Likely" in the "TF4" "table_row" diff --git a/question/bank/tagquestion/tests/behat/tag_question_action.feature b/question/bank/tagquestion/tests/behat/tag_question_action.feature index 0a0c13f9a79..f62bf00a65d 100644 --- a/question/bank/tagquestion/tests/behat/tag_question_action.feature +++ b/question/bank/tagquestion/tests/behat/tag_question_action.feature @@ -18,32 +18,26 @@ Feature: Use the qbank plugin manager page for tagquestion Scenario: Enable/disable tagquestion column from the base view Given I log in as "admin" - When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration + And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Tag question" And I click on "Disable" "link" in the "Tag question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - Then I should not see "Manage tags" - And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration + And I am on the "Test quiz" "mod_quiz > question bank" page + And the "Manage tags" action should not exist for the "First question" question in the question bank + When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Tag question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration - And I click on ".dropdown-toggle" "css_element" in the "First question" "table_row" - And I should see "Manage tags" + And I am on the "Test quiz" "mod_quiz > question bank" page + Then the "Manage tags" action should exist for the "First question" question in the question bank Scenario: Enable/disable tagquestion section from question edit form Given I log in as "admin" - When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration + And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Tag question" And I click on "Disable" "link" in the "Tag question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I choose "Edit question" action for "First question" in the question bank Then I should not see "Tags" in the "region-main" "region" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Tag question" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I choose "Edit question" action for "First question" in the question bank And I should see "Tags" in the "region-main" "region" diff --git a/question/bank/usage/tests/behat/question_usage_column.feature b/question/bank/usage/tests/behat/question_usage_column.feature index ed0f73b18fe..a327eeb25b3 100644 --- a/question/bank/usage/tests/behat/question_usage_column.feature +++ b/question/bank/usage/tests/behat/question_usage_column.feature @@ -21,20 +21,16 @@ Feature: Use the qbank plugin manager page for question usage And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "Question usage" When I click on "Disable" "link" in the "Question usage" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "Usage" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "Question usage" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "Usage" @javascript Scenario: Question usage modal should work without any usage data - Given I log in as "admin" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page logged in as "admin" And I set the field "Select a category" to "Test questions" And I should see "Test questions" And I should see "0" on the usage column diff --git a/question/bank/viewcreator/tests/behat/view_view_creator_column.feature b/question/bank/viewcreator/tests/behat/view_view_creator_column.feature index ec5bd5d8f7d..7d1cd3f293b 100644 --- a/question/bank/viewcreator/tests/behat/view_view_creator_column.feature +++ b/question/bank/viewcreator/tests/behat/view_view_creator_column.feature @@ -21,11 +21,9 @@ Feature: Use the qbank plugin manager page for viewcreator plugin And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "View creator" When I click on "Disable" "link" in the "View creator" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "Created by" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "View creator" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should see "Created by" diff --git a/question/bank/viewquestionname/tests/behat/view_question_name_column.feature b/question/bank/viewquestionname/tests/behat/view_question_name_column.feature index 9f59437cce4..a51cb3ada94 100644 --- a/question/bank/viewquestionname/tests/behat/view_question_name_column.feature +++ b/question/bank/viewquestionname/tests/behat/view_question_name_column.feature @@ -21,11 +21,9 @@ Feature: Use the qbank plugin manager page for viewquestionname And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "View question name" When I click on "Disable" "link" in the "View question name" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then I should not see "First question" And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "View question name" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "First question" diff --git a/question/bank/viewquestiontext/tests/behat/view_question_name_column.feature b/question/bank/viewquestiontext/tests/behat/view_question_name_column.feature index 69d4ec5f48c..2c27ffc1d98 100644 --- a/question/bank/viewquestiontext/tests/behat/view_question_name_column.feature +++ b/question/bank/viewquestiontext/tests/behat/view_question_name_column.feature @@ -22,14 +22,12 @@ Feature: Use the qbank plugin manager page for viewquestiontext And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "View question text" When I click on "Disable" "link" in the "View question text" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should not see "Show question text in the question list" Then "#categoryquestions .questiontext" "css_element" should not be visible And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "View question text" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And I should see "Show question text in the question list" And I click on "qbshowtext" "checkbox" And I should see "Answer the first question" diff --git a/question/bank/viewquestiontype/tests/behat/view_question_type_column.feature b/question/bank/viewquestiontype/tests/behat/view_question_type_column.feature index a8df68b2e09..faa5b4f9bfc 100644 --- a/question/bank/viewquestiontype/tests/behat/view_question_type_column.feature +++ b/question/bank/viewquestiontype/tests/behat/view_question_type_column.feature @@ -22,11 +22,9 @@ Feature: Use the qbank plugin manager page for viewquestiontype When I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I should see "View question type" And I click on "Disable" "link" in the "View question type" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page Then "#categoryquestions .header.qtype" "css_element" should not be visible And I navigate to "Plugins > Question bank plugins > Manage question bank plugins" in site administration And I click on "Enable" "link" in the "View question type" "table_row" - And I am on the "Test quiz" "quiz activity" page - And I navigate to "Question bank" in current page administration + And I am on the "Test quiz" "mod_quiz > question bank" page And "#categoryquestions .header.qtype" "css_element" should be visible diff --git a/question/format/gift/tests/behat/import_export.feature b/question/format/gift/tests/behat/import_export.feature index 38bd2f661e2..fc00ec7300f 100644 --- a/question/format/gift/tests/behat/import_export.feature +++ b/question/format/gift/tests/behat/import_export.feature @@ -28,9 +28,7 @@ Feature: Test importing questions from GIFT format. Then I should see "colours" # Now export again. - And I am on "Course 1" course homepage - And I navigate to "Question bank" in current page administration - And I select "Export" from the "Question bank tertiary navigation" singleselect + And I am on the "Course 1" "core_question > course question export" page And I set the field "id_format_gift" to "1" And I press "Export questions to file" And following "click here" should download between "1500" and "1800" bytes diff --git a/question/tests/behat/behat_core_question.php b/question/tests/behat/behat_core_question.php index 494e4d54025..601d2f884c3 100644 --- a/question/tests/behat/behat_core_question.php +++ b/question/tests/behat/behat_core_question.php @@ -174,13 +174,44 @@ class behat_core_question extends behat_question_base { * @param string $questionname the question name. */ public function i_action_the_question($action, $questionname) { - // Open the menu. - $this->execute("behat_general::i_click_on_in_the", - [get_string('edit'), 'link', $questionname, 'table_row']); + $this->execute('behat_action_menu::i_choose_in_the_named_menu_in_container', [ + $action, + get_string('edit', 'core'), + $questionname, + 'table_row', + ]); + } - // Click the action from the menu. - $this->execute("behat_general::i_click_on_in_the", - [$action, 'link', $questionname, 'table_row']); + /** + * Checks that action does exist for a question. + * + * @Then the :action action should exist for the :questionname question in the question bank + * @param string $action the label for the action you want to activate. + * @param string $questionname the question name. + */ + public function action_exists($action, $questionname) { + $this->execute('behat_action_menu::item_should_exist_in_the', [ + $action, + get_string('edit', 'core'), + $questionname, + 'table_row', + ]); + } + + /** + * Checks that action does not exist for a question. + * + * @Then the :action action should not exist for the :questionname question in the question bank + * @param string $action the label for the action you want to activate. + * @param string $questionname the question name. + */ + public function action_not_exists($action, $questionname) { + $this->execute('behat_action_menu::item_should_not_exist_in_the', [ + $action, + get_string('edit', 'core'), + $questionname, + 'table_row', + ]); } /** diff --git a/question/tests/behat/delete_question_activities.feature b/question/tests/behat/delete_question_activities.feature index 54519ffa39f..a4be3e0d05e 100644 --- a/question/tests/behat/delete_question_activities.feature +++ b/question/tests/behat/delete_question_activities.feature @@ -15,7 +15,6 @@ Feature: An activity module instance with questions in its context can be delete | user | course | role | | teacher1 | C1 | editingteacher | - @javascript Scenario: Synchronously deleting a quiz with existing questions in its context Given the following config values are set as admin: | coursebinenable | 0 | tool_recyclebin | diff --git a/question/tests/behat/delete_questions.feature b/question/tests/behat/delete_questions.feature index e7c83d07ee2..4eb57105222 100644 --- a/question/tests/behat/delete_questions.feature +++ b/question/tests/behat/delete_questions.feature @@ -26,10 +26,9 @@ Feature: A teacher can delete questions in the question bank Scenario: A question not used anywhere can really be deleted When I choose "Delete" action for "Test question to be deleted" in the question bank And I press "Delete" - And I click on "Also show old questions" "checkbox" + And I set the field "Also show old questions" to "1" Then I should not see "Test question to be deleted" - @javascript Scenario: Deleting a question can be cancelled When I choose "Delete" action for "Test question to be deleted" in the question bank And I press "Cancel" @@ -54,7 +53,7 @@ Feature: A teacher can delete questions in the question bank And I choose "Delete" action for "Test used question to be deleted" in the question bank And I press "Delete" Then I should not see "Test used question to be deleted" - And I click on "Also show old questions" "checkbox" + And I set the field "Also show old questions" to "1" And I should see "Test used question to be deleted" And I am on the "Test quiz" "quiz activity" page And I click on "Preview quiz" "button" @@ -68,5 +67,5 @@ Feature: A teacher can delete questions in the question bank And I reload the page When I choose "Delete" action for "Broken question" in the question bank And I press "Delete" - And I click on "Also show old questions" "checkbox" + And I set the field "Also show old questions" to "1" Then I should not see "Broken question" diff --git a/question/tests/behat/edit_question_versioning.feature b/question/tests/behat/edit_question_versioning.feature index 4d13bca2c5b..4fa0bf7f561 100644 --- a/question/tests/behat/edit_question_versioning.feature +++ b/question/tests/behat/edit_question_versioning.feature @@ -24,32 +24,25 @@ Feature: Questions in the question bank have versions | questioncategory | qtype | name | questiontext | answer 1 | | Test questions | truefalse | First question | Answer the first question | True | And quiz "Quiz 1" contains the following questions: - | question | page | - | First question | 1 | - And I log in as "teacher1" - And I am on "Course 1" course homepage + | question | page | + | First question | 1 | @javascript Scenario: Question version is displayed - When I navigate to "Question bank" in current page administration - And I should see "First question" - And I click on "Edit" "link" in the "First question" "table_row" - And I follow "Edit question" + Given I am on the "Course 1" "core_question > course question bank" page logged in as "teacher1" + When I choose "Edit question" action for "First question" in the question bank Then I should see "Version 1" @javascript Scenario: Question version change when question is altered - When I navigate to "Question bank" in current page administration - And I should see "First question" - And I click on "Edit" "link" in the "First question" "table_row" - And I follow "Edit question" + Given I am on the "Course 1" "core_question > course question bank" page logged in as "teacher1" + When I choose "Edit question" action for "First question" in the question bank And I should see "Version 1" - And I set the field "id_name" to "Renamed question v2" + When I set the field "id_name" to "Renamed question v2" And I set the field "id_questiontext" to "edited question" And I press "id_submitbutton" - And I should not see "First question" + Then I should not see "First question" And I should see "Renamed question v2" - And I click on "Edit" "link" in the "Renamed question v2" "table_row" - And I follow "Edit question" + When I choose "Edit question" action for "Renamed question v2" in the question bank Then I should see "Version 2" And I should not see "Version 1" diff --git a/question/tests/behat/edit_questions.feature b/question/tests/behat/edit_questions.feature index bb999f10acd..266370d1cfc 100644 --- a/question/tests/behat/edit_questions.feature +++ b/question/tests/behat/edit_questions.feature @@ -83,9 +83,9 @@ Feature: A teacher can edit questions in the question bank | questioncategory | qtype | name | questiontext | | Test questions | missingtype | Broken question | Write something | When I am on the "Course 1" "core_question > course question bank" page logged in as "teacher1" - Then "Edit question" "link" should not exist in the "Broken question" "table_row" - And "Duplicate" "link" should not exist in the "Broken question" "table_row" - And "Manage tags" "link" should exist in the "Broken question" "table_row" - And "Preview" "link" should not exist in the "Broken question" "table_row" - And "Delete" "link" should exist in the "Broken question" "table_row" - And "Export as Moodle XML" "link" should not exist in the "Broken question" "table_row" + Then the "Edit question" item should not exist in the "Edit" action menu of the "Broken question" "table_row" + And the "Duplicate" item should not exist in the "Edit" action menu of the "Broken question" "table_row" + And the "Preview" item should not exist in the "Edit" action menu of the "Broken question" "table_row" + And the "Export as XML" item should not exist in the "Edit" action menu of the "Broken question" "table_row" + And the "Manage tags" item should exist in the "Edit" action menu of the "Broken question" "table_row" + And the "Delete" item should exist in the "Edit" action menu of the "Broken question" "table_row" diff --git a/question/tests/behat/sort_questions.feature b/question/tests/behat/sort_questions.feature index c025f751d32..ca0f2d7b620 100644 --- a/question/tests/behat/sort_questions.feature +++ b/question/tests/behat/sort_questions.feature @@ -1,19 +1,19 @@ @core @core_question Feature: The questions in the question bank can be sorted in various ways - In order to see what questions I have - As a teacher - I want to view them in different orders + In order to see what questions I have + As a teacher + I want to view them in different orders Background: Given the following "users" exist: - | username | firstname | lastname | email | - | teacher1 | Teacher | 1 | teacher1@example.com | + | username | firstname | lastname | email | + | teacher1 | Teacher | 1 | teacher1@example.com | And the following "courses" exist: | fullname | shortname | format | - | Course 1 | C1 | weeks | + | Course 1 | C1 | weeks | And the following "course enrolments" exist: - | user | course | role | - | teacher1 | C1 | editingteacher | + | user | course | role | + | teacher1 | C1 | editingteacher | And the following "question categories" exist: | contextlevel | reference | name | | Course | C1 | Test questions | @@ -24,11 +24,9 @@ Feature: The questions in the question bank can be sorted in various ways | Test questions | numerical | C question 3 name | teacher1 | Question 3 text | numidnum course question bank" page logged in as "teacher1" - @javascript Scenario: The questions are sorted by type by default Then "A question 1 name" "checkbox" should appear before "C question 3 name" "checkbox" - @javascript Scenario: The questions can be sorted by idnumber When I change the window size to "large" And I follow "Sort by ID number ascending" @@ -37,30 +35,25 @@ Feature: The questions in the question bank can be sorted in various ways And I follow "Sort by ID number descending" And "C question 3 name" "checkbox" should appear before "A question 1 name" "checkbox" - @javascript Scenario: The questions can be sorted in reverse order by type When I follow "Sort by Question type descending" Then "C question 3 name" "checkbox" should appear before "A question 1 name" "checkbox" - @javascript Scenario: The questions can be sorted by name When I follow "Sort by Question name ascending" Then "A question 1 name" "checkbox" should appear before "B question 2 name" "checkbox" And "B question 2 name" "checkbox" should appear before "C question 3 name" "checkbox" - @javascript Scenario: The questions can be sorted in reverse order by name When I follow "Sort by Question name ascending" And I follow "Sort by Question name descending" Then "C question 3 name" "checkbox" should appear before "B question 2 name" "checkbox" And "B question 2 name" "checkbox" should appear before "A question 1 name" "checkbox" - @javascript Scenario: The questions can be sorted by creator name When I follow "Sort by First name ascending" Then "A question 1 name" "checkbox" should appear before "B question 2 name" "checkbox" - @javascript Scenario: The questions can be sorted in reverse order by creator name When I follow "Sort by First name ascending" And I follow "Sort by First name descending" @@ -68,7 +61,7 @@ Feature: The questions in the question bank can be sorted in various ways @javascript Scenario: The question text can be shown in the list of questions - When I click on "Show question text in the question list" "checkbox" + When I set the field "Show question text in the question list" to "1" Then I should see "Question 1 text" And I should see "Question 2 text" And I should see "Question 3 text" diff --git a/question/type/ddmarker/tests/behat/backup_and_restore.feature b/question/type/ddmarker/tests/behat/backup_and_restore.feature index f9432366c6d..449936d077d 100644 --- a/question/type/ddmarker/tests/behat/backup_and_restore.feature +++ b/question/type/ddmarker/tests/behat/backup_and_restore.feature @@ -29,40 +29,40 @@ Feature: Test duplicating a quiz containing a drag and drop markers question And I restore "test_backup.mbz" backup into a new course using this options: | Schema | Course name | Course 2 | | Schema | Course short name | C2 | - And I navigate to "Question bank" in current page administration + And I am on the "Course 2" "core_question > course question bank" page And I choose "Edit question" action for "Drag markers" in the question bank Then the following fields match these values: - | Question name | Drag markers | - | Question text | Please place the markers on the map of Milton Keynes and be aware that there is more than one railway station. | - | General feedback | The Open University is at the junction of Brickhill Street and Groveway. There are three railway stations, Wolverton, Milton Keynes Central and Bletchley. | - | Default mark | 1 | - | id_shuffleanswers | 0 | - | id_drags_0_label | OU | - | id_drags_0_noofdrags | 1 | - | id_drags_1_label | Railway station | - | id_drags_1_noofdrags | 3 | - | id_drops_0_shape | Circle | - | id_drops_0_coords | 322,213;10 | - | id_drops_0_choice | OU | - | id_drops_1_shape | Circle | - | id_drops_1_coords | 144,84;10 | - | id_drops_1_choice | Railway station | - | id_drops_2_shape | Circle | - | id_drops_2_coords | 195,180;10 | - | id_drops_2_choice | Railway station | - | id_drops_3_shape | Circle | - | id_drops_3_coords | 267,302;10 | - | id_drops_3_choice | Railway station | - | For any correct response | Well done! | - | For any partially correct response | Parts, but only parts, of your response are correct. | - | id_shownumcorrect | 1 | - | For any incorrect response | That is not right at all. | - | Penalty for each incorrect try | 33.33333% | - | Hint 1 | You are trying to place four markers on the map. | - | id_hintshownumcorrect_0 | 1 | - | id_hintclearwrong_0 | 0 | - | id_hintoptions_0 | 0 | - | Hint 2 | You are trying to mark three railway stations. | - | id_hintshownumcorrect_1 | 1 | - | id_hintclearwrong_1 | 1 | - | id_hintoptions_1 | 1 | + | Question name | Drag markers | + | Question text | Please place the markers on the map of Milton Keynes and be aware that there is more than one railway station. | + | General feedback | The Open University is at the junction of Brickhill Street and Groveway. There are three railway stations, Wolverton, Milton Keynes Central and Bletchley. | + | Default mark | 1 | + | id_shuffleanswers | 0 | + | id_drags_0_label | OU | + | id_drags_0_noofdrags | 1 | + | id_drags_1_label | Railway station | + | id_drags_1_noofdrags | 3 | + | id_drops_0_shape | Circle | + | id_drops_0_coords | 322,213;10 | + | id_drops_0_choice | OU | + | id_drops_1_shape | Circle | + | id_drops_1_coords | 144,84;10 | + | id_drops_1_choice | Railway station | + | id_drops_2_shape | Circle | + | id_drops_2_coords | 195,180;10 | + | id_drops_2_choice | Railway station | + | id_drops_3_shape | Circle | + | id_drops_3_coords | 267,302;10 | + | id_drops_3_choice | Railway station | + | For any correct response | Well done! | + | For any partially correct response | Parts, but only parts, of your response are correct. | + | id_shownumcorrect | 1 | + | For any incorrect response | That is not right at all. | + | Penalty for each incorrect try | 33.33333% | + | Hint 1 | You are trying to place four markers on the map. | + | id_hintshownumcorrect_0 | 1 | + | id_hintclearwrong_0 | 0 | + | id_hintoptions_0 | 0 | + | Hint 2 | You are trying to mark three railway stations. | + | id_hintshownumcorrect_1 | 1 | + | id_hintclearwrong_1 | 1 | + | id_hintoptions_1 | 1 | diff --git a/question/type/essay/tests/behat/edit_min_max_fields.feature b/question/type/essay/tests/behat/edit_min_max_fields.feature index 384d3db989b..66564663a98 100644 --- a/question/type/essay/tests/behat/edit_min_max_fields.feature +++ b/question/type/essay/tests/behat/edit_min_max_fields.feature @@ -21,14 +21,12 @@ Feature: In an essay question, let the question author choose the min/max number | questioncategory | qtype | name | template | minwordlimit | maxwordlimit | | Test questions | essay | essay-min-max | editor | 0 | 0 | - @javascript Scenario: Minimum/Maximum word limit are enabled but not set. When I am on the "essay-min-max" "core_question > edit" page logged in as teacher And I set the field "minwordenabled" to "1" And I click on "Save changes" "button" Then I should see "Minimum word limit is enabled but is not set" - @javascript Scenario: Minimum/Maximum word limit cannot be set to a negative number. When I am on the "essay-min-max" "core_question > edit" page logged in as teacher And I set the field "minwordenabled" to "1" @@ -36,7 +34,6 @@ Feature: In an essay question, let the question author choose the min/max number And I click on "Save changes" "button" Then I should see "Minimum word limit cannot be a negative number" - @javascript Scenario: Maximum word limit cannot be greater than minimum word limit. When I am on the "essay-min-max" "core_question > edit" page logged in as teacher And I set the field "minwordenabled" to "1" diff --git a/question/type/gapselect/tests/behat/basic_test.feature b/question/type/gapselect/tests/behat/basic_test.feature index 1f2df5eef0d..eba31511661 100644 --- a/question/type/gapselect/tests/behat/basic_test.feature +++ b/question/type/gapselect/tests/behat/basic_test.feature @@ -20,19 +20,19 @@ Feature: Test all the basic functionality of this question type # Create a new question. And I add a "Select missing words" question filling the form with: - | Question name | Select missing words 001 | - | Question text | The [[1]] [[2]] on the [[3]]. | - | General feedback | The cat sat on the mat. | - | id_choices_0_answer | cat | - | id_choices_1_answer | sat | - | id_choices_1_choicegroup | 2 | - | id_choices_2_answer | mat | - | id_choices_3_answer | dog | - | id_choices_4_answer | table | - | id_choices_5_answer | ran | - | id_choices_5_choicegroup | 2 | - | Hint 1 | First hint | - | Hint 2 | Second hint | + | Question name | Select missing words 001 | + | Question text | The [[1]] [[2]] on the [[3]]. | + | General feedback | The cat sat on the mat. | + | id_choices_0_answer | cat | + | id_choices_1_answer | sat | + | id_choices_1_choicegroup | 2 | + | id_choices_2_answer | mat | + | id_choices_3_answer | dog | + | id_choices_4_answer | table | + | id_choices_5_answer | ran | + | id_choices_5_choicegroup | 2 | + | Hint 1 | First hint | + | Hint 2 | Second hint | Then I should see "Select missing words 001" # Preview it. @@ -128,26 +128,25 @@ Feature: Test all the basic functionality of this question type | Confirmation | Filename | test_backup.mbz | And I restore "test_backup.mbz" backup into a new course using this options: | Schema | Course name | Course 2 | - And I should see "Course 2" - And I navigate to "Question bank" in current page administration + And I am on the "Course 2 copy 1" "core_question > course question bank" page And I should see "Select missing words 001" # Edit the copy and verify the form field contents. And I choose "Edit question" action for "Select missing words 001" in the question bank And the following fields match these values: - | Question name | Select missing words 001 | - | Question text | The [[1]] [[2]] on the [[3]]. | - | General feedback | The cat sat on the mat. | - | id_choices_0_answer | cat | - | id_choices_1_answer | sat | - | id_choices_1_choicegroup | 2 | - | id_choices_2_answer | mat | - | id_choices_3_answer | dog | - | id_choices_4_answer | table | - | id_choices_5_answer | ran | - | id_choices_5_choicegroup | 2 | - | Hint 1 | First hint | - | Hint 2 | Second hint | + | Question name | Select missing words 001 | + | Question text | The [[1]] [[2]] on the [[3]]. | + | General feedback | The cat sat on the mat. | + | id_choices_0_answer | cat | + | id_choices_1_answer | sat | + | id_choices_1_choicegroup | 2 | + | id_choices_2_answer | mat | + | id_choices_3_answer | dog | + | id_choices_4_answer | table | + | id_choices_5_answer | ran | + | id_choices_5_choicegroup | 2 | + | Hint 1 | First hint | + | Hint 2 | Second hint | And I set the following fields to these values: | Question name | Edited question name | And I press "id_submitbutton" diff --git a/report/questioninstances/tests/behat/question_reports.feature b/report/questioninstances/tests/behat/question_reports.feature index 49b9789d209..4c7e57e7724 100644 --- a/report/questioninstances/tests/behat/question_reports.feature +++ b/report/questioninstances/tests/behat/question_reports.feature @@ -1,8 +1,8 @@ -@core @core_question @javascript @report @report_questioninstance +@core @core_question @report @report_questioninstance Feature: A Teacher can generate question instance reports - In order to see question instance reports - As a Teacher - I need to generate them + In order to see question instance reports + As a Teacher + I need to generate them Background: Given the following "users" exist: @@ -18,21 +18,20 @@ Feature: A Teacher can generate question instance reports | activity | course | name | | quiz | C1 | Test quiz Q001 | And the following "questions" exist: - | questioncategory | qtype | name | - | Test questions | truefalse | TF | - | Test questions | shortanswer | SA | + | questioncategory | qtype | name | + | Test questions | truefalse | TF | + | Test questions | shortanswer | SA | And quiz "Test quiz Q001" contains the following questions: | question | page | maxmark | | TF | 1 | 5.0 | | SA | 1 | 5.0 | And the following "course enrolments" exist: - | user | course | role | - | teacher1 | C1 | editingteacher | + | user | course | role | + | teacher1 | C1 | editingteacher | And the following "question categories" exist: - | contextlevel | reference | name | - | Activity module | Test quiz Q001 | Quiz category | + | contextlevel | reference | name | + | Activity module | Test quiz Q001 | Quiz category | - @javascript Scenario: Generate general and specific report Given I am on the "C1" "Course" page logged in as "admin" And I navigate to "Reports > Question instances" in site administration @@ -41,12 +40,9 @@ Feature: A Teacher can generate question instance reports And "Course: Course 1" row "Visible" column of "generaltable" table should contain "2" And "Course: Course 1" row "Hidden" column of "generaltable" table should contain "0" - @javascript Scenario: Generate report displaying hidden questions - Given I am on the "Test quiz Q001" "quiz activity" page logged in as "admin" - And I navigate to "Question bank" in current page administration - And I click on "Edit" "link" in the "TF" "table_row" - And I choose "Delete" in the open action menu + Given I am on the "Test quiz Q001" "mod_quiz > question bank" page logged in as "admin" + And I choose "Delete" action for "TF" in the question bank And I press "Delete" And I navigate to "Reports > Question instances" in site administration When I press "Get the report"