Rev 11 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
@mod @mod_quiz @javascriptFeature: Adding random questions to a quiz based on category and tagsIn order to have better assessmentAs a teacherI want to display questions that are randomly picked from the question bankBackground:Given the following "users" exist:| username | firstname | lastname | email || teacher1 | Teacher | 1 | t1@example.com |And the following "courses" exist:| fullname | shortname || Course 1 | C1 |And the following "course enrolments" exist:| user | course | role || teacher1 | C1 | editingteacher |And the following "activities" exist:| activity | name | intro | course | idnumber || quiz | Quiz 1 | Quiz 1 for testing the Add random question form | C1 | quiz1 || qbank | Qbank 1 | Question bank 1 for testing the Add menu | C1 | qbank1 |And the following "question categories" exist:| contextlevel | reference | name || Activity module | quiz1 | Questions Category 1 || Activity module | quiz1 | Questions Category 2 || Activity module | qbank1 | Qbank questions |And the following "question categories" exist:| contextlevel | reference | name | questioncategory || Activity module | quiz1 | Subcategory | Questions Category 1 |And the following "questions" exist:| questioncategory | qtype | name | user | questiontext || Questions Category 1 | essay | question 1 name | admin | Question 1 text || Questions Category 1 | essay | question 2 name | teacher1 | Question 2 text || Subcategory | essay | question 3 name | teacher1 | Question 3 text || Subcategory | essay | question 4 name | teacher1 | Question 4 text || Questions Category 1 | essay | "listen" & "answer" | teacher1 | Question 5 text || Qbank questions | essay | Qbank question 1 | teacher1 | Qbank question |And the following "core_question > Tags" exist:| question | tag || question 1 name | foo || question 2 name | bar || question 3 name | foo || question 4 name | bar || "listen" & "answer" | foo || Qbank question 1 | qbanktag |Scenario: Available tags are shown in the autocomplete tag fieldGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"When I open the "last" add to quiz menuAnd I follow "a random question"And I add question bank filter "Tag"And I click on "Tag" "field"And I press the down keyThen "foo" "autocomplete_suggestions" should existAnd "bar" "autocomplete_suggestions" should existScenario: Questions can be filtered by tagsGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"When I open the "last" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Questions Category 1"And I apply question bank filter "Tag" with value "foo"And I wait until the page is readyAnd I should see "question 1 name"And I should see "\"listen\" & \"answer\""And I should not see "question 2 name"And I should not see "question 3 name"And I should not see "question 4 name"# Ensure tagged questions inside subcategories are also matched.And I set the field "Also show questions from subcategories" to "1"And I click on "Apply filters" "button"And I wait until the page is readyAnd I should see "question 1 name"And I should see "question 3 name"And I should see "\"listen\" & \"answer\""And I should not see "question 2 name"And I should not see "question 4 name"Scenario: Questions can be filtered by tags on a shared question bankGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"When I open the "last" add to quiz menuAnd I follow "a random question"Then I click on "Switch bank" "button"And I click on "Qbank 1" "link" in the "Select question bank" "dialogue"And I apply question bank filter "Category" with value "Qbank questions"And I apply question bank filter "Tag" with value "qbanktag"And I click on "Apply filters" "button"And I wait until the page is readyAnd I should see "Qbank question 1"And I should not see "question 3 name"And I should not see "question 2 name"And I should not see "question 4 name"Scenario: A random question can be added to the quizGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"And I open the "last" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Questions Category 1"And I apply question bank filter "Tag" with value "foo"And I select "1" from the "randomcount" singleselectAnd I press "Add random question"And I should see "Random (Questions Category 1) based on filter condition with tags: foo" on quiz page "1"When I click on "Configure question" "link" in the "Random (Questions Category 1) based on filter condition with tags: foo" "list_item"Then I should see "Questions Category 1"And I should see "foo"And I should see "question 1 name"And I should see "\"listen\" & \"answer\""And I click on "Cancel" "button" in the "Editing a random question" "dialogue"# Include subcategories.And I navigate to "Questions" in current page administrationAnd I open the "Page 1" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Questions Category 1"And I set the field "Also show questions from subcategories" to "1"And I click on "Apply filters" "button"And I apply question bank filter "Tag" with value "foo"And I select "1" from the "randomcount" singleselectAnd I press "Add random question"And I should see "Random (Questions Category 1 and subcategories) based on filter condition with tags: foo" on quiz page "1"And I click on "Configure question" "link" in the "Random (Questions Category 1 and subcategories) based on filter condition with tags: foo" "list_item"And I should see "Questions Category 1"And I should see "foo"And I should see "question 1 name"And I should see "\"listen\" & \"answer\""And I should see "question 3 name"Scenario: A random question from the quiz's top category can be added to the quizGiven the following "question categories" exist:| contextlevel | reference | name || Activity module | quiz1 | Quiz 1 category |And the following "questions" exist:| questioncategory | qtype | name | user | questiontext || Quiz 1 category | essay | quiz 1 question 1 name | teacher1 | Quiz 1 question 1 text || Quiz 1 category | essay | quiz 1 question 2 name | teacher1 | Quiz 1 question 2 text |And the following "core_question > Tags" exist:| question | tag || quiz 1 question 1 name | foo |And I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"And I open the "last" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Top for Quiz 1"And I set the field "Also show questions from subcategories" to "1"And I click on "Apply filters" "button"And I apply question bank filter "Tag" with value "foo"And I select "1" from the "randomcount" singleselectWhen I press "Add random question"Then I should see "Random (Any category of this quiz) based on filter condition with tags: foo" on quiz page "1"And I click on "Configure question" "link" in the "Random (Any category of this quiz) based on filter condition with tags: foo" "list_item"And I should see "Top for Quiz 1"And I should see "foo"And I should see "quiz 1 question 1 name"And I should not see "quiz 1 question 2 name"Scenario: A random question from a top category, excluding subcategories, shows an indicator of being faultyGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"And I open the "last" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Top for Quiz 1"And I set the field "Also show questions from subcategories" to "0"And I click on "Apply filters" "button"And I apply question bank filter "Tag" with value "foo"And I select "1" from the "randomcount" singleselectWhen I press "Add random question"Then I should see "Random (Faulty question) based on filter condition" on quiz page "1"Scenario: After closing and reopening the modal, it still worksWhen I am on the "Quiz 1" "mod_quiz > Edit" page logged in as teacher1And I open the "last" add to quiz menuAnd I follow "a random question"And I click on "Close" "button" in the "Add a random question at the end" "dialogue"And I open the "last" add to quiz menuAnd I follow "a random question"And I should not see "question 3 name"And I set the field "Category" to "Subcategory"And I press "Apply filters"Then I should see "question 3 name"Scenario: A random question can be added to the quiz from a shared question bankGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"And I open the "last" add to quiz menuAnd I follow "a random question"And I should see "Current bank: Quiz 1"And I apply question bank filter "Category" with value "Questions Category 1"And I should see "question 1 name"And I click on "Switch bank" "button"And I click on "Qbank 1" "link" in the "Select question bank" "dialogue"And I should see "Current bank: Qbank 1"And I should not see "question 1 name"And I apply question bank filter "Category" with value "Qbank questions"And I should see "Qbank question 1"When I apply question bank filter "Tag" with value "qbanktag"And I select "1" from the "randomcount" singleselectAnd I press "Add random question"Then I should see "Random (Qbank questions) based on filter condition with tags: qbanktag" on quiz page "1"And I click on "Configure question" "link" in the "Random (Qbank questions) based on filter condition with tags: qbank" "list_item"And I should see "Qbank questions"And I should see "qbanktag"And I should see "Qbank question 1"Scenario: Teacher without moodle/question:useall should not see the add a random question menu itemGiven the following "permission overrides" exist:| capability | permission | role | contextlevel | reference || moodle/question:useall | Prevent | editingteacher | Course | C1 |And I log in as "teacher1"And I am on the "Quiz 1" "mod_quiz > Edit" pageWhen I open the "last" add to quiz menuThen I should not see "a random question"Scenario: A random question can be added to the quiz by creating a new categoryGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"When I open the "last" add to quiz menuAnd I follow "a random question"And I follow "New category"And "Help with Parent category" "icon" should exist in the "Random question using a new category" "fieldset"And I set the following fields to these values:| Name | New Random category || Parent category | Questions Category 1 |And I press "Create category and add random question"And I should see "Random (New Random category) based on filter condition" on quiz page "1"And I click on "Configure question" "link" in the "Random (New Random category) based on filter condition" "list_item"Then I should see "New Random category"Scenario: See questions link applies all random question filtersGiven I am on the "Quiz 1" "mod_quiz > Edit" page logged in as "teacher1"And I open the "last" add to quiz menuAnd I follow "a random question"And I apply question bank filter "Category" with value "Questions Category 1"And I apply question bank filter "Tag" with value "foo"And I select "1" from the "randomcount" singleselectAnd I press "Add random question"And I should see "Random (Questions Category 1) based on filter condition with tags: foo" on quiz page "1"And I click on "Configure question" "link" in the "Random (Questions Category 1) based on filter condition with tags: foo" "list_item"And I should see "Questions Category 1"And I should see "foo"And I should see "question 1 name"And I should see "\"listen\" & \"answer\""And I should not see "bar"And I should not see "question 2 name"When I am on the "Quiz 1" "mod_quiz > Edit" pageAnd I click on "(See questions)" "link" in the "Random (Questions Category 1) based on filter condition with tags: foo" "list_item"Then I should see "Questions Category 1"And I should see "foo"And I should see "question 1 name"And I should see "\"listen\" & \"answer\""And I should not see "bar"And I should not see "question 2 name"