5dbc4f9f22d1d21fcb1966e69afd7e6b8a4c5bc8
[moodle.git] / course / tests / behat / category_management.feature
1 @core @core_course
2 Feature: Test category management actions
3   As a moodle admin
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 assign roles within a category
9   Test we can set permissions on a category
10   Test we can manage cohorts within a category
11   Test we can manage filters for a category
13   Scenario: Test editing a category through the management interface.
14     Given the following "categories" exists:
15       | name | category | idnumber |
16       | Cat 1 | 0 | CAT1 |
17     And the following "courses" exists:
18       | category | fullname | shortname | idnumber |
19       | CAT1 | Course 1 | Course 1 | C1 |
21     And I log in as "admin"
22     And I go to the courses management page
23     And I should see the "Course categories" management page
24     And I click on "edit" action for "Cat 1" in management category listing
25     # Redirect
26     And I should see "Edit category settings"
27     And I should see "Cat 1"
28     And I press "Cancel"
29     # Redirect
30     And I should see the "Course categories and courses" management page
31     And I click on "edit" action for "Cat 1" in management category listing
32     # Redirect
33     And I should see "Edit category settings"
34     And I should see "Cat 1"
35     And I fill the moodle form with:
36       | Category name | Category 1 (edited) |
37       | Category ID number | CAT1e |
38     And I press "Save changes"
39     # Redirect
40     And I should see the "Course categories and courses" management page
41     And I should see "Category 1 (edited)" in the "#category-listing" "css_element"
42     And I should see "Category 1 (edited)" in the "#course-listing h3" "css_element"
44   Scenario: Test deleting a categories through the management interface.
45     Given the following "categories" exists:
46       | name | category | idnumber |
47       | Cat 1 | 0 | CAT1 |
48       | Cat 2 | 0 | CAT2 |
49       | Cat 3 | 0 | CAT3 |
51     And the following "courses" exists:
52       | category | fullname | shortname | idnumber |
53       | CAT3 | Course 1 | Course 1 | C1 |
55     And I log in as "admin"
56     And I go to the courses management page
57     And I should see the "Course categories" management page
58     And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
59     And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
60     And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
61     And I click on "delete" action for "Cat 2" in management category listing
62     # Redirect
63     And I should see "Delete category: Cat 2"
64     And I should see "Contents of Cat 2"
65     And I should see "This category is empty"
66     And I press "Cancel"
67     # Redirect
68     And I should see the "Course categories and courses" management page
69     And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
70     And I should see "Cat 2" in the "#category-listing ul.ml" "css_element"
71     And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
72     And I click on "delete" action for "Cat 2" in management category listing
73     # Redirect
74     And I should see "Delete category: Cat 2"
75     And I should see "Contents of Cat 2"
76     And I should see "This category is empty"
77     And I press "Delete"
78     # Redirect
79     And I should see "Delete category: Cat 2"
80     And I should see "Deleted course category Cat 2"
81     And I press "Continue"
82     # Redirect
83     And I should see the "Course categories" management page
84     And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
85     And I should not see "Cat 2" in the "#category-listing ul.ml" "css_element"
86     And I should see "Cat 3" in the "#category-listing ul.ml" "css_element"
87     And I click on "delete" action for "Cat 3" in management category listing
88     # Redirect
89     And I should see "Delete category: Cat 3"
90     And I fill the moodle form with:
91       | What to do | Move contents to another category |
92       | Move into  | Cat 1                             |
93     And I press "Delete"
94     # Redirect
95     And I should see "Delete category: Cat 3"
96     And I should see "Deleted course category Cat 3"
97     And I press "Continue"
98     # Redirect
99     And I should see the "Course categories and courses" management page
100     And I should see "Cat 1" in the "#category-listing ul.ml" "css_element"
101     And I should not see "Cat 2" in the "#category-listing ul.ml" "css_element"
102     And I should not see "Cat 3" in the "#category-listing ul.ml" "css_element"
103     And I should see "Course 1" in the "#course-listing ul.ml" "css_element"
105   Scenario: Test I can assign roles for a category through the management interface.
106     Given the following "categories" exists:
107       | name | category | idnumber |
108       | Cat 1 | 0 | CAT1 |
109     And the following "courses" exists:
110       | category | fullname | shortname | idnumber |
111       | CAT1 | Course 1 | Course 1 | C1 |
113     And I log in as "admin"
114     And I go to the courses management page
115     And I should see the "Course categories" management page
116     And I click on "assignroles" action for "Cat 1" in management category listing
117     # Redirect
118     And I should see "Assign roles in Category: Cat 1"
119     And I should see "Please choose a role to assign"
120     And I click on "Back to Category: Cat 1" "link"
121     # Redirect
122     And I should see the "Course categories and courses" management page
123     And I should see "Cat 1" in the "#course-listing h3" "css_element"
125   Scenario: Test I can set access permissions for a category through the management interface.
126     Given the following "categories" exists:
127       | name | category | idnumber |
128       | Cat 1 | 0 | CAT1 |
129     And the following "courses" exists:
130       | category | fullname | shortname | idnumber |
131       | CAT1 | Course 1 | Course 1 | C1 |
133     And I log in as "admin"
134     And I go to the courses management page
135     And I should see the "Course categories" management page
136     And I click on "permissions" action for "Cat 1" in management category listing
137     # Redirect
138     And I should see "Permissions in Category: Cat 1"
139     And I click on "Back to Category: Cat 1" "link"
140     # Redirect
141     And I should see the "Course categories and courses" management page
142     And I should see "Cat 1" in the "#course-listing h3" "css_element"
144   Scenario: Test clicking to manage cohorts for a category through the management interface.
145     Given the following "categories" exists:
146       | name | category | idnumber |
147       | Cat 1 | 0 | CAT1 |
148     And the following "courses" exists:
149       | category | fullname | shortname | idnumber |
150       | CAT1 | Course 1 | Course 1 | C1 |
152     And I log in as "admin"
153     And I go to the courses management page
154     And I should see the "Course categories" management page
155     And I click on "cohorts" action for "Cat 1" in management category listing
156     # Redirect
157     And I should see "Category: Cat 1: available cohorts"
159   Scenario: Test configuring filters for a category
160     Given the following "categories" exists:
161       | name | category | idnumber |
162       | Cat 1 | 0 | CAT1 |
163     And the following "courses" exists:
164       | category | fullname | shortname | idnumber |
165       | CAT1 | Course 1 | Course 1 | C1 |
167     And I log in as "admin"
168     And I go to the courses management page
169     And I should see the "Course categories" management page
170     And I click on "filters" action for "Cat 1" in management category listing
171     # Redirect
172     And I should see "Filter settings in Category: Cat 1"
173     And I click on "Back to Category: Cat 1" "link"
174     # Redirect
175     And I should see the "Course categories and courses" management page
176     And I should see "Cat 1" in the "#course-listing h3" "css_element"
178   @javascript
179   Scenario: Test that I can create a category and view it in the management interface
180     Given the following "categories" exists:
181       | name | category | idnumber |
182       | Cat 1 | 0 | CAT1 |
183     And I log in as "admin"
184     And I go to the courses management page
185     And I should see the "Course categories" management page
186     And I click on "Create new" "link" in the ".category-listing-actions" "css_element"
187     And I click on "Top level category" "link" in the ".category-listing-actions" "css_element"
188     # Redirect.
189     And I should see "Add new category"
190     And I fill the moodle form with:
191       | Category name | Test category 2 |
192       | Category ID number | TC2 |
193     And I press "Create category"
194     # Redirect
195     And I should see the "Course categories and courses" management page
196     And I should see "Test category 2" in the "#course-listing h3" "css_element"
197     And I should see category listing "Cat 1" before "Test category 2"
198     And I should see "No courses in this category"
199     And I click on "Create new" "link" in the ".category-listing-actions" "css_element"
200     And I click on "Sub category" "link" in the ".category-listing-actions" "css_element"
201     # Redirect
202     And I should see "Add new category"
203     And I fill the moodle form with:
204       | Category name | Test category 3 |
205       | Category ID number | TC3 |
206     And I press "Create category"
207     # Redirect
208     And I should see the "Course categories and courses" management page
209     And I should see "Test category 3" in the "#course-listing h3" "css_element"
210     And I should see category listing "Cat 1" before "Test category 2"
211     And I should see "No courses in this category"