MDL-31830 course: management behat tests corrected after fixes
[moodle.git] / course / tests / behat / category_resort.feature
1 @core @core_course
2 Feature: Test we can resort categories in the management interface.
3   As a moodle admin
4   I need to test we can resort top level categories.
5   I need to test we can resort sub categories.
6   I need to test we can manually sort categories.
8   Scenario Outline: Test resorting categories.
9     Given the following "categories" exists:
10       | category | name | idnumber | sortorder |
11       | 0 | Social studies | Ext003 | 1 |
12       | 0 | Applied sciences | Sci001 | 2 |
13       | 0 | Extended social studies | Ext002 | 3 |
15     And I log in as "admin"
16     And I go to the courses management page
17     And I should see the "Course categories" management page
18     And I should see "Re-sort categories" in the ".category-listing-actions" "css_element"
19     And I should see "By name" in the ".category-listing-actions" "css_element"
20     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
21     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
22     # Redirect.
23     And I should see the "Course categories" management page
24     And I should see category listing <cat1> before <cat2>
25     And I should see category listing <cat2> before <cat3>
27   Examples:
28     | sortby | cat1 | cat2 | cat3 |
29     | "Re-sort categories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
30     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
31     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
33   @javascript
34   Scenario Outline: Test resorting categories with JS enabled.
35     Given the following "categories" exists:
36       | category | name | idnumber | sortorder |
37       | 0 | Social studies | Ext003 | 1 |
38       | 0 | Applied sciences | Sci001 | 2 |
39       | 0 | Extended social studies | Ext002 | 3 |
41     And I log in as "admin"
42     And I go to the courses management page
43     And I should see the "Course categories" management page
44     And I should see "Re-sort categories" in the ".category-listing-actions" "css_element"
45     And I should not see "By name" in the ".category-listing-actions" "css_element"
46     And I should not see "By idnumber" in the ".category-listing-actions" "css_element"
47     And I click on "Re-sort categories" "link"
48     And I should see "By name" in the ".category-listing-actions" "css_element"
49     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
50     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
51     # Redirect.
52     And I should see the "Course categories" management page
53     And I should see category listing <cat1> before <cat2>
54     And I should see category listing <cat2> before <cat3>
56   Examples:
57     | sortby | cat1 | cat2 | cat3 |
58     | "Re-sort categories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
59     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
60     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
62   Scenario Outline: Test resorting subcategories.
63     Given the following "categories" exists:
64       | category | name | idnumber | sortorder |
65       | 0 | Master cat  | CAT1 | 1 |
66       | CAT1 | Social studies | Ext003 | 1 |
67       | CAT1 | Applied sciences | Sci001 | 2 |
68       | CAT1 | Extended social studies | Ext002 | 3 |
70     And I log in as "admin"
71     And I go to the courses management page
72     And I should see the "Course categories" management page
73     And I click on "Master cat" "link"
74     # Redirect.
75     And I should see the "Course categories and courses" management page
76     And I should see "Re-sort subcategories" in the ".category-listing-actions" "css_element"
77     And I should see "By name" in the ".category-listing-actions" "css_element"
78     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
79     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
80     # Redirect.
81     And I should see the "Course categories and courses" management page
82     And I should see category listing <cat1> before <cat2>
83     And I should see category listing <cat2> before <cat3>
85   Examples:
86     | sortby | cat1 | cat2 | cat3 |
87     | "Re-sort subcategories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
88     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
89     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
91   @javascript
92   Scenario Outline: Test resorting subcategories with JS enabled.
93     Given the following "categories" exists:
94       | category | name | idnumber | sortorder |
95       | 0 | Master cat  | CAT1 | 1 |
96       | CAT1 | Social studies | Ext003 | 1 |
97       | CAT1 | Applied sciences | Sci001 | 2 |
98       | CAT1 | Extended social studies | Ext002 | 3 |
100     And I log in as "admin"
101     And I go to the courses management page
102     And I should see the "Course categories" management page
103     And I click on "Master cat" "link"
104   # Redirect.
105     And I should see the "Course categories and courses" management page
106     And I should see "Re-sort subcategories" in the ".category-listing-actions" "css_element"
107     And I should not see "By name" in the ".category-listing-actions" "css_element"
108     And I should not see "By idnumber" in the ".category-listing-actions" "css_element"
109     And I click on "Re-sort subcategories" "link"
110     And I should see "By name" in the ".category-listing-actions" "css_element"
111     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
112     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
113   # Redirect.
114     And I should see the "Course categories and courses" management page
115     And I should see category listing <cat1> before <cat2>
116     And I should see category listing <cat2> before <cat3>
118   Examples:
119     | sortby | cat1 | cat2 | cat3 |
120     | "Re-sort subcategories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
121     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
122     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
124   # The scenario below this is the same but with JS enabled.
125   Scenario: Test moving categories up and down by one.
126     Given the following "categories" exists:
127       | category | idnumber | name |
128       | 0 | CAT1 | Cat 1 |
129       | 0 | CAT2 | Cat 2 |
130       | CAT1 | CATA | Cat 1a |
131       | CAT1 | CATB | Cat 1b |
132       | CAT1 | CATC | Cat 1c |
134     And I log in as "admin"
135     And I go to the courses management page
136     And I should see the "Course categories" management page
137     And I click on category "Cat 1" in the management interface
138     # Redirect. We should a 1, 1a, 1b, 1c, 2.
139     And I should see the "Course categories and courses" management page
140     And I should see category listing "Cat 1" before "Cat 1a"
141     And I should see category listing "Cat 1a" before "Cat 1b"
142     And I should see category listing "Cat 1b" before "Cat 1c"
143     And I should see category listing "Cat 1c" before "Cat 2"
144     And I click to move category "CATA" down one
145     # Redirect.We should a 1, 1b, 1a, 1c, 2.
146     And I should see the "Course categories and courses" management page
147     And I should see category listing "Cat 1" before "Cat 1b"
148     And I should see category listing "Cat 1b" before "Cat 1a"
149     And I should see category listing "Cat 1a" before "Cat 1c"
150     And I should see category listing "Cat 1c" before "Cat 2"
151     And I click to move category "CATC" up one
152     # Redirect. We should a 1, 1b, 1c, 1a, 2.
153     And I should see the "Course categories and courses" management page
154     And I should see category listing "Cat 1" before "Cat 1b"
155     And I should see category listing "Cat 1b" before "Cat 1c"
156     And I should see category listing "Cat 1c" before "Cat 1a"
157     And I should see category listing "Cat 1a" before "Cat 2"
158     And I click to move category "CATA" down one
159     # Redirect. We should a 1, 1b, 1c, 1a, 2.
160     And I should see the "Course categories and courses" management page
161     And I should see category listing "Cat 1" before "Cat 1b"
162     And I should see category listing "Cat 1b" before "Cat 1c"
163     And I should see category listing "Cat 1c" before "Cat 1a"
164     And I should see category listing "Cat 1a" before "Cat 2"
165     And I click to move category "CATB" up one
166     # Redirect. We should a 1, 1b, 1c, 1a, 2.
167     And I should see the "Course categories and courses" management page
168     And I should see category listing "Cat 1" before "Cat 1b"
169     And I should see category listing "Cat 1b" before "Cat 1c"
170     And I should see category listing "Cat 1c" before "Cat 1a"
171     And I should see category listing "Cat 1a" before "Cat 2"
172     And I click to move category "CAT2" up one
173     # Redirect. We should a 2, 1.
174     And I should see the "Course categories and courses" management page
175     And I should see category listing "Cat 2" before "Cat 1"
176     And I click on category "Cat 1" in the management interface
177     # Redirect. We should a 2, 1, 1b, 1c, 1a.
178     And I should see the "Course categories and courses" management page
179     And I should see category listing "Cat 2" before "Cat 1"
180     And I should see category listing "Cat 1" before "Cat 1b"
181     And I should see category listing "Cat 1b" before "Cat 1c"
182     And I should see category listing "Cat 1c" before "Cat 1a"
184   @javascript @_cross_browser
185   Scenario: Test using AJAX to move categories up and down by one.
186     Given the following "categories" exists:
187       | category | idnumber | name |
188       | 0 | CAT1 | Cat 1 |
189       | 0 | CAT2 | Cat 2 |
190       | CAT1 | CATA | Cat 1a |
191       | CAT1 | CATB | Cat 1b |
192       | CAT1 | CATC | Cat 1c |
194     And I log in as "admin"
195     And I go to the courses management page
196     And I should see the "Course categories" management page
197     And I click on category "Cat 1" in the management interface
198     # Redirect.
199     And I should see the "Course categories and courses" management page
200     And I should see category listing "Cat 1" before "Cat 1a"
201     And I should see category listing "Cat 1a" before "Cat 1b"
202     And I should see category listing "Cat 1b" before "Cat 1c"
203     And I should see category listing "Cat 1c" before "Cat 2"
204     And I click to move category "CATA" down one
205     # AJAX request. No redirect.We should a 1, 1b, 1a, 1c, 2.
206     And I should see category listing "Cat 1" before "Cat 1b"
207     And I should see category listing "Cat 1b" before "Cat 1a"
208     And I should see category listing "Cat 1a" before "Cat 1c"
209     And I should see category listing "Cat 1c" before "Cat 2"
210     And I click to move category "CATC" up one
211     # AJAX request. No redirect. We should a 1, 1b, 1c, 1a, 2.
212     And I should see category listing "Cat 1" before "Cat 1b"
213     And I should see category listing "Cat 1b" before "Cat 1c"
214     And I should see category listing "Cat 1c" before "Cat 1a"
215     And I should see category listing "Cat 1a" before "Cat 2"