Merge branch 'MDL-66559-master' of git://github.com/andrewnicols/moodle
[moodle.git] / mod / quiz / tests / behat / editing_add_from_question_bank.feature
1 @mod @mod_quiz @javascript
2 Feature: Adding questions to a quiz from the question bank
3   In order to re-use questions
4   As a teacher
5   I want to add questions from the question bank
7   Background:
8     Given the following "users" exist:
9       | username | firstname | lastname | email |
10       | teacher1 | Teacher | 1 | teacher1@example.com |
11     And the following "courses" exist:
12       | fullname | shortname | format |
13       | Course 1 | C1 | weeks |
14     And the following "course enrolments" exist:
15       | user | course | role |
16       | teacher1 | C1 | editingteacher |
17     And the following "activities" exist:
18       | activity   | name   | intro                           | course | idnumber |
19       | quiz       | Quiz 1 | Quiz 1 for testing the Add menu | C1     | quiz1    |
20     And the following "question categories" exist:
21       | contextlevel | reference | name           |
22       | Course       | C1        | Test questions |
23     And the following "questions" exist:
24       | questioncategory | qtype     | name             | user     | questiontext     | idnumber |
25       | Test questions   | essay     | question 01 name | admin    | Question 01 text |          |
26       | Test questions   | essay     | question 02 name | teacher1 | Question 02 text | qidnum   |
28   Scenario: The questions can be filtered by tag
29     Given I log in as "teacher1"
30     And I am on "Course 1" course homepage
31     When I navigate to "Question bank > Questions" in current page administration
32     And I click on "Edit" "link" in the "question 01 name" "table_row"
33     And I set the following fields to these values:
34       | Tags | foo |
35     And I press "id_submitbutton"
36     And I click on "Edit" "link" in the "question 02 name" "table_row"
37     And I set the following fields to these values:
38       | Tags | bar |
39     And I press "id_submitbutton"
40     And I am on "Course 1" course homepage
41     And I follow "Quiz 1"
42     And I navigate to "Edit quiz" in current page administration
43     And I open the "last" add to quiz menu
44     And I follow "from question bank"
45     Then I should see "foo" in the "question 01 name" "table_row"
46     And I should see "bar" in the "question 02 name" "table_row"
47     And I should see "qidnum" in the "question 02 name" "table_row"
48     And I set the field "Filter by tags..." to "foo"
49     And I press key "13" in the field "Filter by tags..."
50     And I should see "question 01 name" in the "categoryquestions" "table"
51     And I should not see "question 02 name" in the "categoryquestions" "table"
53   Scenario: The question modal can be paginated
54     Given the following "questions" exist:
55       | questioncategory | qtype     | name             | user     | questiontext     |
56       | Test questions   | essay     | question 03 name | teacher1 | Question 03 text |
57       | Test questions   | essay     | question 04 name | teacher1 | Question 04 text |
58       | Test questions   | essay     | question 05 name | teacher1 | Question 05 text |
59       | Test questions   | essay     | question 06 name | teacher1 | Question 06 text |
60       | Test questions   | essay     | question 07 name | teacher1 | Question 07 text |
61       | Test questions   | essay     | question 08 name | teacher1 | Question 08 text |
62       | Test questions   | essay     | question 09 name | teacher1 | Question 09 text |
63       | Test questions   | essay     | question 10 name | teacher1 | Question 10 text |
64       | Test questions   | essay     | question 11 name | teacher1 | Question 11 text |
65       | Test questions   | essay     | question 12 name | teacher1 | Question 12 text |
66       | Test questions   | essay     | question 13 name | teacher1 | Question 13 text |
67       | Test questions   | essay     | question 14 name | teacher1 | Question 14 text |
68       | Test questions   | essay     | question 15 name | teacher1 | Question 15 text |
69       | Test questions   | essay     | question 16 name | teacher1 | Question 16 text |
70       | Test questions   | essay     | question 17 name | teacher1 | Question 17 text |
71       | Test questions   | essay     | question 18 name | teacher1 | Question 18 text |
72       | Test questions   | essay     | question 19 name | teacher1 | Question 19 text |
73       | Test questions   | essay     | question 20 name | teacher1 | Question 20 text |
74       | Test questions   | essay     | question 21 name | teacher1 | Question 21 text |
75       | Test questions   | essay     | question 22 name | teacher1 | Question 22 text |
76     And I log in as "teacher1"
77     And I am on "Course 1" course homepage
78     And I follow "Quiz 1"
79     And I navigate to "Edit quiz" in current page administration
80     And I open the "last" add to quiz menu
81     And I follow "from question bank"
82     And I click on "2" "link" in the ".pagination" "css_element"
83     Then I should see "question 21 name" in the "categoryquestions" "table"
84     And I should see "question 22 name" in the "categoryquestions" "table"
85     And I should not see "question 01 name" in the "categoryquestions" "table"
87   Scenario: Questions are added in the right place with multiple sections
88     Given the following "questions" exist:
89       | questioncategory | qtype | name             | questiontext     |
90       | Test questions   | essay | question 03 name | question 03 text |
91     And quiz "Quiz 1" contains the following questions:
92       | question         | page |
93       | question 01 name | 1    |
94       | question 02 name | 2    |
95     And quiz "Quiz 1" contains the following sections:
96       | heading   | firstslot | shuffle |
97       | Section 1 | 1         | 0       |
98       | Section 2 | 2         | 0       |
99     And I log in as "teacher1"
100     And I am on "Course 1" course homepage
101     And I follow "Quiz 1"
102     When I navigate to "Edit quiz" in current page administration
103     And I open the "Page 1" add to quiz menu
104     And I follow "from question bank"
105     And I set the field with xpath "//tr[contains(normalize-space(.), 'question 03 name')]//input[@type='checkbox']" to "1"
106     And I click on "Add selected questions to the quiz" "button"
107     Then I should see "question 03 name" on quiz page "1"
108     And I should see "question 01 name" before "question 03 name" on the edit quiz page