dbfbbc15539e266d6068132fe5a3db9f57015497
[moodle.git] / lib / tests / behat / alpha_chooser.feature
1 @core
2 Feature: Initials bar
3   In order to filter users from user list
4   As an admin
5   I need to be able to use letter filters
7   Background:
8     Given the following "users" exist:
9       | username  | firstname | lastname | email                 |
10       | teacher   | Ateacher  | Teacher  | teacher@example.com   |
11       | student1  | Astudent  | Astudent | student1@example.com  |
12       | student2  | Bstudent  | Astudent | student2@example.com  |
13       | student3  | Cstudent  | Cstudent | student3@example.com  |
14       | student4  | Cstudent  | Cstudent | student4@example.com  |
15       | student5  | Cstudent  | Cstudent | student5@example.com  |
16       | student6  | Cstudent  | Cstudent | student6@example.com  |
17       | student7  | Cstudent  | Cstudent | student7@example.com  |
18       | student8  | Cstudent  | Cstudent | student8@example.com  |
19       | student9  | Cstudent  | Cstudent | student9@example.com  |
20       | student10 | Cstudent  | Cstudent | student10@example.com |
21       | student11 | Cstudent  | Cstudent | student11@example.com |
22       | student12 | Cstudent  | Cstudent | student12@example.com |
23       | student13 | Cstudent  | Cstudent | student13@example.com |
24       | student14 | Cstudent  | Cstudent | student14@example.com |
25       | student15 | Cstudent  | Cstudent | student15@example.com |
26       | student16 | Cstudent  | Cstudent | student16@example.com |
27       | student17 | Cstudent  | Cstudent | student17@example.com |
28       | student18 | Cstudent  | Cstudent | student18@example.com |
29       | student19 | Cstudent  | Cstudent | student19@example.com |
30       | student20 | Cstudent  | Cstudent | student20@example.com |
31       | student21 | Cstudent  | Cstudent | student21@example.com |
32       | student22 | Cstudent  | Cstudent | student22@example.com |
33       | student23 | Cstudent  | Cstudent | student23@example.com |
34       | student24 | Cstudent  | Cstudent | student24@example.com |
36     And the following "courses" exist:
37       | fullname | shortname | category |enablecompletion |
38       | Course 1 | C1        | 0        | 1               |
39     And the following "course enrolments" exist:
40       | user      | course | role           |
41       | teacher   | C1     | editingteacher |
42       | student1  | C1     | student        |
43       | student2  | C1     | student        |
44       | student3  | C1     | student        |
45       | student4  | C1     | student        |
46       | student5  | C1     | student        |
47       | student6  | C1     | student        |
48       | student7  | C1     | student        |
49       | student8  | C1     | student        |
50       | student9  | C1     | student        |
51       | student10 | C1     | student        |
52       | student11 | C1     | student        |
53       | student12 | C1     | student        |
54       | student13 | C1     | student        |
55       | student14 | C1     | student        |
56       | student15 | C1     | student        |
57       | student16 | C1     | student        |
58       | student17 | C1     | student        |
59       | student18 | C1     | student        |
60       | student19 | C1     | student        |
61       | student20 | C1     | student        |
62       | student21 | C1     | student        |
63       | student22 | C1     | student        |
64       | student23 | C1     | student        |
65       | student24 | C1     | student        |
67   @javascript
68   Scenario: Filter users on assignment submission page
69     Given the following "activities" exist:
70       | activity | course | idnumber | name           | intro                       | assignsubmission_onlinetext_enabled | assignsubmission_file_enabled |
71       | assign   | C1     | assign1  | TestAssignment | Test assignment description | 0                                   | 0                             |
72     And I log in as "teacher"
73     And I am on "Course 1" course homepage
74     And I follow "TestAssignment"
75     When I navigate to "View all submissions" in current page administration
76     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
77     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
78     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
79     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
80     And I should see "Astudent Astudent"
81     And I should see "Bstudent Astudent"
82     And I should see "Cstudent Cstudent"
83     And I click on "A" "link" in the ".initialbar.lastinitial" "css_element"
84     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
85     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
86     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
87     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
88     And I should see "Astudent Astudent"
89     And I should see "Bstudent Astudent"
90     And I should not see "Cstudent Cstudent"
91     And I click on "B" "link" in the ".initialbar.firstinitial" "css_element"
92     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
93     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
94     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
95     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
96     And I should not see "Astudent Astudent"
97     And I should see "Bstudent Astudent"
98     And I should not see "Cstudent Cstudent"
99     And I am on "Course 1" course homepage
100     And I follow "TestAssignment"
101     When I navigate to "View all submissions" in current page administration
102     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
103     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
104     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
105     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
106     And I should not see "Astudent Astudent"
107     And I should see "Bstudent Astudent"
108     And I should not see "Cstudent Cstudent"
109     And I click on "All" "link" in the ".initialbar.firstinitial" "css_element"
110     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
111     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
112     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
113     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
114     And I should see "Astudent Astudent"
115     And I should see "Bstudent Astudent"
116     And I should not see "Cstudent Cstudent"
117     And I click on "All" "link" in the ".initialbar.lastinitial" "css_element"
118     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
119     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
120     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
121     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
122     And I should see "Astudent Astudent"
123     And I should see "Bstudent Astudent"
124     And I should see "Cstudent Cstudent"
126   @javascript
127   Scenario: Filter users on view gradebook page
128     Given the following "activities" exist:
129       | activity | course | idnumber | name           | intro                       | assignsubmission_onlinetext_enabled | assignsubmission_file_enabled |
130       | assign   | C1     | assign1  | TestAssignment | Test assignment description | 0                                   | 0                             |
131     And I log in as "teacher"
132     And I am on "Course 1" course homepage
133     And I follow "TestAssignment"
134     When I navigate to "View all submissions" in current page administration
135     And I select "View gradebook" from the "jump" singleselect
136     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
137     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
138     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
139     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
140     And I should see "Astudent Astudent"
141     And I should see "Bstudent Astudent"
142     And I should see "Cstudent Cstudent"
143     And I click on "A" "link" in the ".initialbar.lastinitial" "css_element"
144     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
145     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
146     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
147     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
148     And I should see "Astudent Astudent"
149     And I should see "Bstudent Astudent"
150     And I should not see "Cstudent Cstudent"
151     And I click on "B" "link" in the ".initialbar.firstinitial" "css_element"
152     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
153     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
154     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
155     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
156     And I should not see "Astudent Astudent"
157     And I should see "Bstudent Astudent"
158     And I should not see "Cstudent Cstudent"
159     And I am on "Course 1" course homepage
160     And I follow "TestAssignment"
161     When I navigate to "View all submissions" in current page administration
162     And I select "View gradebook" from the "jump" singleselect
163     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
164     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
165     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
166     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
167     And I should not see "Astudent Astudent"
168     And I should see "Bstudent Astudent"
169     And I should not see "Cstudent Cstudent"
170     And I click on "All" "link" in the ".initialbar.firstinitial" "css_element"
171     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
172     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
173     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
174     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
175     And I should see "Astudent Astudent"
176     And I should see "Bstudent Astudent"
177     And I should not see "Cstudent Cstudent"
178     And I click on "All" "link" in the ".initialbar.lastinitial" "css_element"
179     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
180     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
181     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
182     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
183     And I should see "Astudent Astudent"
184     And I should see "Bstudent Astudent"
185     And I should see "Cstudent Cstudent"
187   @javascript
188   Scenario: Filter users on course participants page
189     Given the following "activities" exist:
190       | activity | course | idnumber | name           | intro                       | assignsubmission_onlinetext_enabled | assignsubmission_file_enabled |
191       | assign   | C1     | assign1  | TestAssignment | Test assignment description | 0                                   | 0                             |
192     And I log in as "teacher"
193     And I am on "Course 1" course homepage
194     And I follow "Participants"
195     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
196     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
197     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
198     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
199     And I should see "Astudent Astudent"
200     And I should see "Bstudent Astudent"
201     And I should see "Cstudent Cstudent"
202     And I click on "A" "link" in the ".initialbar.lastinitial" "css_element"
203     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
204     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
205     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
206     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
207     And I should see "Astudent Astudent"
208     And I should see "Bstudent Astudent"
209     And I should not see "Cstudent Cstudent"
210     And I click on "B" "link" in the ".initialbar.firstinitial" "css_element"
211     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
212     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
213     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
214     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
215     And I should not see "Astudent Astudent"
216     And I should see "Bstudent Astudent"
217     And I should not see "Cstudent Cstudent"
218     And I am on "Course 1" course homepage
219     And I follow "Participants"
220     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
221     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
222     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
223     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
224     And I should not see "Astudent Astudent"
225     And I should see "Bstudent Astudent"
226     And I should not see "Cstudent Cstudent"
227     And I click on "All" "link" in the ".initialbar.firstinitial" "css_element"
228     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
229     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
230     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
231     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
232     And I should see "Astudent Astudent"
233     And I should see "Bstudent Astudent"
234     And I should not see "Cstudent Cstudent"
235     And I click on "All" "link" in the ".initialbar.lastinitial" "css_element"
236     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
237     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
238     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
239     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
240     And I should see "Astudent Astudent"
241     And I should see "Bstudent Astudent"
242     And I should see "Cstudent Cstudent"
244   @javascript
245   Scenario: Filter users on activity completion page
246     Given the following "activities" exist:
247       | activity | course | idnumber | name           | intro                       | assignsubmission_onlinetext_enabled | assignsubmission_file_enabled |
248       | assign   | C1     | assign1  | TestAssignment | Test assignment description | 0                                   | 0                             |
249     And I log in as "admin"
250     And I am on "Course 1" course homepage
251     And I follow "TestAssignment"
252     And I navigate to "Edit settings" in current page administration
253     And I expand all fieldsets
254     And I set the field "Completion tracking" to "1"
255     And I click on "Save and return to course" "button"
256     And I navigate to "Course completion" in current page administration
257     And I expand all fieldsets
258     And I click on "Assignment - TestAssignment" "checkbox"
259     And I click on "Save changes" "button"
260     And I log out
261     And I log in as "teacher"
262     And I am on "Course 1" course homepage
263     And I navigate to "Activity completion" node in "Course administration > Reports"
264     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
265     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
266     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
267     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
268     And I should see "Astudent Astudent"
269     And I should see "Bstudent Astudent"
270     And I should see "Cstudent Cstudent"
271     And I click on "A" "link" in the ".initialbar.lastinitial" "css_element"
272     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
273     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
274     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
275     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
276     And I should see "Astudent Astudent"
277     And I should see "Bstudent Astudent"
278     And I should not see "Cstudent Cstudent"
279     And I click on "B" "link" in the ".initialbar.firstinitial" "css_element"
280     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
281     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
282     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
283     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
284     And I should not see "Astudent Astudent"
285     And I should see "Bstudent Astudent"
286     And I should not see "Cstudent Cstudent"
287     And I am on "Course 1" course homepage
288     And I navigate to "Activity completion" node in "Course administration > Reports"
289     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
290     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
291     And ".letter.active.B" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
292     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
293     And I should not see "Astudent Astudent"
294     And I should see "Bstudent Astudent"
295     And I should not see "Cstudent Cstudent"
296     And I click on "All" "link" in the ".initialbar.firstinitial" "css_element"
297     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
298     And ".initialbarall.letter.active" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
299     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
300     And ".letter.active.A" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
301     And I should see "Astudent Astudent"
302     And I should see "Bstudent Astudent"
303     And I should not see "Cstudent Cstudent"
304     And I click on "All" "link" in the ".initialbar.lastinitial" "css_element"
305     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.firstinitial" "css_element"
306     And ".initialbarall.letter.active" "css_element" should exist in the ".initialbar.lastinitial" "css_element"
307     And ".letter.active.B" "css_element" should not exist in the ".initialbar.firstinitial" "css_element"
308     And ".letter.active.A" "css_element" should not exist in the ".initialbar.lastinitial" "css_element"
309     And I should see "Astudent Astudent"
310     And I should see "Bstudent Astudent"
311     And I should see "Cstudent Cstudent"