2 Feature: Test category management actions
4 Test we can create a category
5 Test we can create a sub category
6 Test we can edit a category
7 Test we can delete a category
8 Test we can move a category
9 Test we can assign roles within a category
10 Test we can set permissions on a category
11 Test we can manage cohorts within a category
12 Test we can manage filters for a category
14 Scenario: Test editing a category through the management interface.
15 Given the following "categories" exist:
16 | name | category | idnumber |
18 And the following "courses" exist:
19 | category | fullname | shortname | idnumber |
20 | CAT1 | Course 1 | Course 1 | C1 |
22 And I log in as "admin"
23 And I go to the courses management page
24 And I should see the "Course categories and courses" management page
25 And I click on "edit" action for "Cat 1" in management category listing
27 And I should see "Edit category settings"
28 And I should see "Cat 1"
31 And I should see the "Course categories and courses" management page
32 And I click on "edit" action for "Cat 1" in management category listing
34 And I should see "Edit category settings"
35 And I should see "Cat 1"
36 And I set the following fields to these values:
37 | Category name | Category 1 (edited) |
38 | Category ID number | CAT1e |
39 And I press "Save changes"
41 And I should see the "Course categories and courses" management page
42 And I should see "Category 1 (edited)" in the "#category-listing" "css_element"
43 And I should see "Category 1 (edited)" in the "#course-listing h3" "css_element"
45 Scenario: Test deleting a categories through the management interface.
46 Given the following "categories" exist:
47 | name | category | idnumber |
52 And the following "courses" exist:
53 | category | fullname | shortname | idnumber |
54 | CAT3 | Course 1 | Course 1 | C1 |
56 And I log in as "admin"
57 And I go to the courses management page
58 And I should see the "Course categories and courses" management page
59 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
60 And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
61 And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
62 And I click on "delete" action for "Cat 2" in management category listing
64 And I should see "Delete category: Cat 2"
65 And I should see "Contents of Cat 2"
66 And I should see "This category is empty"
69 And I should see the "Course categories and courses" management page
70 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
71 And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
72 And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
73 And I click on "delete" action for "Cat 2" in management category listing
75 And I should see "Delete category: Cat 2"
76 And I should see "Contents of Cat 2"
77 And I should see "This category is empty"
80 And I should see "Delete category: Cat 2"
81 And I should see "Deleted course category Cat 2"
82 And I press "Continue"
84 And I should see the "Course categories and courses" management page
85 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
86 And I should not see "Cat 2" in the "#category-listing ul.ml" "css_element"
87 And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
88 And I click on "delete" action for "Cat 3" in management category listing
90 And I should see "Delete category: Cat 3"
91 And I set the following fields to these values:
92 | What to do | Move contents to another category |
96 And I should see "Delete category: Cat 3"
97 And I should see "Deleted course category Cat 3"
98 And I press "Continue"
100 And I should see the "Course categories and courses" management page
101 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
102 And I should not see "Cat 2" in the "#category-listing ul.ml" "css_element"
103 And I should not see "Cat 3" in the "#category-listing ul.ml" "css_element"
104 And I should see "Course 1" in the "#course-listing ul.ml" "css_element"
106 Scenario: Test I can assign roles for a category through the management interface.
107 Given the following "categories" exist:
108 | name | category | idnumber |
110 And the following "courses" exist:
111 | category | fullname | shortname | idnumber |
112 | CAT1 | Course 1 | Course 1 | C1 |
114 And I log in as "admin"
115 And I go to the courses management page
116 And I should see the "Course categories and courses" management page
117 And I click on "assignroles" action for "Cat 1" in management category listing
119 And I should see "Assign roles in Category: Cat 1"
120 And I should see "Please choose a role to assign"
121 And I click on "Back to Category: Cat 1" "link"
123 And I should see the "Course categories and courses" management page
124 And I should see "Cat 1" in the "#course-listing h3" "css_element"
126 Scenario: Test I can set access permissions for a category through the management interface.
127 Given the following "categories" exist:
128 | name | category | idnumber |
130 And the following "courses" exist:
131 | category | fullname | shortname | idnumber |
132 | CAT1 | Course 1 | Course 1 | C1 |
134 And I log in as "admin"
135 And I go to the courses management page
136 And I should see the "Course categories and courses" management page
137 And I click on "permissions" action for "Cat 1" in management category listing
139 And I should see "Permissions in Category: Cat 1"
140 And I click on "Back to Category: Cat 1" "link"
142 And I should see the "Course categories and courses" management page
143 And I should see "Cat 1" in the "#course-listing h3" "css_element"
145 Scenario: Test clicking to manage cohorts for a category through the management interface.
146 Given the following "categories" exist:
147 | name | category | idnumber |
149 And the following "courses" exist:
150 | category | fullname | shortname | idnumber |
151 | CAT1 | Course 1 | Course 1 | C1 |
153 And I log in as "admin"
154 And I go to the courses management page
155 And I should see the "Course categories and courses" management page
156 And I click on "cohorts" action for "Cat 1" in management category listing
158 And I should see "Category: Cat 1: available cohorts"
160 Scenario: Test configuring filters for a category
161 Given the following "categories" exist:
162 | name | category | idnumber |
164 And the following "courses" exist:
165 | category | fullname | shortname | idnumber |
166 | CAT1 | Course 1 | Course 1 | C1 |
168 And I log in as "admin"
169 And I go to the courses management page
170 And I should see the "Course categories and courses" management page
171 And I click on "filters" action for "Cat 1" in management category listing
173 And I should see "Filter settings in Category: Cat 1"
174 And I click on "Back to Category: Cat 1" "link"
176 And I should see the "Course categories and courses" management page
177 And I should see "Cat 1" in the "#course-listing h3" "css_element"
180 Scenario: Test that I can create a category and view it in the management interface
181 Given the following "categories" exist:
182 | name | category | idnumber |
184 And I log in as "admin"
185 And I go to the courses management page
186 And I should see the "Course categories and courses" management page
187 And I click on "Create new category" "link" in the ".category-listing-actions" "css_element"
189 And I should see "Add new category"
190 And I set the following fields to these values:
191 | Parent category | Top |
192 | Category name | Test category 2 |
193 | Category ID number | TC2 |
194 And I press "Create category"
196 And I should see the "Course categories and courses" management page
197 And I should see "Test category 2" in the "#course-listing h3" "css_element"
198 And I should see category listing "Cat 1" before "Test category 2"
199 And I should see "No courses in this category"
200 And I click on "createnewsubcategory" action for "Test category 2" in management category listing
202 And I should see "Add new category"
203 And I set the following fields to these values:
204 | Parent category | Top |
205 | Category name | Test category 3 |
206 | Category ID number | TC3 |
207 And I press "Create category"
209 And I should see the "Course categories and courses" management page
210 And I should see "Test category 3" in the "#course-listing h3" "css_element"
211 And I should see category listing "Cat 1" before "Test category 2"
212 And I should see "No courses in this category"
215 Scenario: Test moving a categories through the management interface.
216 Given the following "categories" exist:
217 | name | category | idnumber |
222 And I log in as "admin"
223 And I go to the courses management page
224 And I should see the "Course categories and courses" management page
225 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
226 And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
227 And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
228 And I select category "Cat 2" in the management interface
229 And I select category "Cat 3" in the management interface
230 And I set the field "menumovecategoriesto" to "Cat 1"
231 When I press "bulkmovecategories"
233 And I click on category "Cat 1" in the management interface
235 Then I should see category "CAT3" as subcategory of "CAT1" in the management interface
236 And I move category "Cat 3" to top level in the management interface
238 And I should not see category "CAT3" as subcategory of "CAT1" in the management interface
239 Then I should see category "CAT2" as subcategory of "CAT1" in the management interface
242 Scenario: Test bulk action is shown only when some category/course is selected
243 Given the following "categories" exist:
244 | name | category | idnumber |
248 And the following "courses" exist:
249 | category | fullname | shortname | idnumber |
250 | CAT3 | Course 1 | Course 1 | C1 |
251 | CAT3 | Course 2 | Course 2 | C2 |
253 And I log in as "admin"
254 And I go to the courses management page
255 And I should see the "Course categories and courses" management page
256 And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
257 And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
258 And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
259 And the "movecategoriesto" "select" should be disabled
260 And the "resortcategoriesby" "select" should be disabled
261 And the "resortcoursesby" "select" should be disabled
262 When I set the field "selectsortby" to "allcategories"
263 Then the "resortcategoriesby" "select" should be enabled
264 And the "resortcoursesby" "select" should be enabled
265 And the "movecategoriesto" "select" should be disabled
266 And I select category "Cat 2" in the management interface
267 And the "movecategoriesto" "select" should be enabled
268 And the "resortcategoriesby" "select" should be enabled
269 And the "resortcoursesby" "select" should be enabled
270 And I set the field "selectsortby" to "selectedcategories"
271 And the "movecategoriesto" "select" should be enabled
272 And the "resortcategoriesby" "select" should be enabled
273 And the "resortcoursesby" "select" should be enabled
274 And I unselect category "Cat 2" in the management interface
275 And the "movecategoriesto" "select" should be disabled
276 And the "resortcategoriesby" "select" should be disabled
277 And the "resortcoursesby" "select" should be disabled
278 And I select category "Cat 3" in the management interface
279 And the "movecategoriesto" "select" should be enabled
280 And the "resortcategoriesby" "select" should be enabled
281 And the "resortcoursesby" "select" should be enabled
282 And I select category "Cat 2" in the management interface
283 And the "movecategoriesto" "select" should be enabled
284 And the "resortcategoriesby" "select" should be enabled
285 And the "resortcoursesby" "select" should be enabled
286 And I unselect category "Cat 2" in the management interface
287 And I unselect category "Cat 3" in the management interface
288 And the "movecategoriesto" "select" should be disabled
289 And the "resortcategoriesby" "select" should be disabled
290 And the "resortcoursesby" "select" should be disabled
291 And I click on category "Cat 1" in the management interface
293 And I should see the "Course categories and courses" management page
294 And the "movecategoriesto" "select" should be disabled
295 And the "resortcategoriesby" "select" should be disabled
296 And the "resortcoursesby" "select" should be disabled
297 And the "movecoursesto" "select" should be disabled
298 And I click on category "Cat 3" in the management interface
300 And I should see the "Course categories and courses" management page
301 And I should see "Course 1" in the "#course-listing ul.ml" "css_element"
302 And I should see "Course 2" in the "#course-listing ul.ml" "css_element"
303 And the "movecategoriesto" "select" should be disabled
304 And the "resortcategoriesby" "select" should be disabled
305 And the "resortcoursesby" "select" should be disabled
306 And the "movecoursesto" "select" should be disabled
307 And I select course "Course 1" in the management interface
308 And the "movecoursesto" "select" should be enabled
309 And the "movecategoriesto" "select" should be disabled
310 And the "resortcategoriesby" "select" should be disabled
311 And the "resortcoursesby" "select" should be disabled
312 And I select course "Course 2" in the management interface
313 And the "movecoursesto" "select" should be enabled
314 And the "movecategoriesto" "select" should be disabled
315 And the "resortcategoriesby" "select" should be disabled
316 And the "resortcoursesby" "select" should be disabled
317 And I select category "Cat 3" in the management interface
318 And the "movecoursesto" "select" should be enabled
319 And the "movecategoriesto" "select" should be enabled
320 And the "resortcategoriesby" "select" should be enabled
321 And the "resortcoursesby" "select" should be enabled
322 And I unselect course "Course 2" in the management interface
323 And the "movecoursesto" "select" should be enabled
324 And the "movecategoriesto" "select" should be enabled
325 And the "resortcategoriesby" "select" should be enabled
326 And the "resortcoursesby" "select" should be enabled
327 And I unselect course "Course 1" in the management interface
328 And the "movecoursesto" "select" should be disabled
329 And the "movecategoriesto" "select" should be enabled
330 And the "resortcategoriesby" "select" should be enabled
331 And the "resortcoursesby" "select" should be enabled
332 And I unselect category "Cat 3" in the management interface
333 And the "movecoursesto" "select" should be disabled
334 And the "movecategoriesto" "select" should be disabled
335 And the "resortcategoriesby" "select" should be disabled
336 And the "resortcoursesby" "select" should be disabled
338 Scenario: Test that is not possible to create a course category with a duplicate idnumber
339 Given the following "categories" exist:
340 | name | category | idnumber |
342 And I log in as "admin"
343 And I expand "Site administration" node
344 And I expand "Courses" node
345 And I follow "Add a category"
346 And I set the following fields to these values:
347 | Category name | Test duplicate |
348 | Category ID number | CAT1 |
349 When I press "Create category"
350 Then I should see "ID number is already used for another category"