MDL-31830 course: management behat tests corrected after fixes
[moodle.git] / course / tests / behat / course_category_management_listing.feature
1 @core @core_course
2 Feature: Course category management interface performs as expected
3   In order to test JS enhanced display of categories and subcategories.
4   As a moodle admin
5   I need to expand and collapse categories.
7   @javascript
8   Scenario: Test general look of management interface
9     Given the following "categories" exists:
10       | name | category | idnumber |
11       | Cat 1 | 0 | CAT1 |
12     And I log in as "admin"
13     And I go to the courses management page
14     And I should see "Course and category management" in the "h2" "css_element"
15     And I should see "Viewing Course categories"
16     And I should see "Course categories" in the "h3" "css_element"
17     And I should see the "Course categories" management page
19   @javascript
20   Scenario: Test view mode functionality
21     Given the following "categories" exists:
22       | name | category | idnumber |
23       | Cat 1 | 0 | CAT1 |
24     And the following "courses" exists:
25       | fullname | shortname | category | format |
26       | Course 1 | C1 | CAT1 | topics |
28     And I log in as "admin"
29     And I go to the courses management page
30     And I should see the "Course categories" management page
31     And I should see "Course categories" in the "#category-listing h3" "css_element"
32     And I should see "Cat 1" in the "#category-listing" "css_element"
33     And I should see "Viewing Course categories" in the ".view-mode-selector" "css_element"
34     And I should not see "Course categories and courses" in the ".view-mode-selector .menu" "css_element"
35     And I should not see "Course categories" in the ".view-mode-selector .menu" "css_element"
36     And I should not see "Courses" in the ".view-mode-selector .menu" "css_element"
37     When I click on "Viewing Course categories" "link" in the ".view-mode-selector" "css_element"
38     Then I should see "Course categories and courses" in the ".view-mode-selector .menu" "css_element"
39     And I should see "Course categories" in the ".view-mode-selector .menu" "css_element"
40     And I should see "Courses" in the ".view-mode-selector .menu" "css_element"
41     And I click on "Course categories and courses" "link" in the ".view-mode-selector .menu" "css_element"
42     # Redirect.
43     And I should see the "Course categories and courses" management page
44     And I should see "Course categories" in the "#category-listing h3" "css_element"
45     And I should see "Courses" in the "#course-listing h3" "css_element"
46     And I should see "Cat 1" in the "#category-listing" "css_element"
47     And I should see "Please select a category" in the "#course-listing" "css_element"
48     And I click on category "Cat 1" in the management interface
49     # Redirect.
50     And I should see the "Course categories and courses" management page
51     And I should see "Course categories" in the "#category-listing h3" "css_element"
52     And I should see "Cat 1" in the "#course-listing h3" "css_element"
53     And I should see "Cat 1" in the "#category-listing" "css_element"
54     And I should see "Course 1" in the "#course-listing" "css_element"
55     When I click on "Viewing Course categories" "link" in the ".view-mode-selector" "css_element"
56     Then I should see "Courses" in the ".view-mode-selector .menu" "css_element"
57     And I click on "Courses" "link" in the ".view-mode-selector .menu" "css_element"
58     # Redirect.
59     And I should see the "Courses" management page
60     And I should see "Cat 1" in the "#course-listing h3" "css_element"
61     And I should see "Course 1" in the "#course-listing" "css_element"
62     And I click on course "Course 1" in the management interface
63     # Redirect.
64     And I should see the "Courses" management page with a course selected
65     And I should see "Cat 1" in the "#course-listing h3" "css_element"
66     And I should see "Course 1" in the "#course-listing" "css_element"
67     And I should see "Course 1" in the "#course-detail h3" "css_element"
68     And I should see "C1" in the "#course-detail .shortname" "css_element"
69     And I should see "Course 1" in the "#course-detail .fullname" "css_element"
70     And I should see "Topics" in the "#course-detail .format" "css_element"
71     And I should see "Cat 1" in the "#course-detail .category" "css_element"
73   Scenario: Test displaying of sub categories
74     Given the following "categories" exists:
75       | name | category | idnumber |
76       | Cat 1 | 0 | CAT1 |
77       | Cat 2 | 0 | CAT2 |
78       | Cat 1-1 | CAT1 | CAT3 |
79       | Cat 1-2 | CAT1 | CAT4 |
80       | Cat 1-1-1 | CAT3 | CAT5 |
81       | Cat 1-1-2 | CAT3 | CAT6 |
82       | Cat 2-1 | CAT2 | CAT7 |
83       | Cat 2-1-1 | CAT7 | CAT8 |
84     And the following "courses" exists:
85       | fullname | shortname | category |
86       | Course 1 | C1 | CAT1 |
87       | Course 2 | C2 | CAT1 |
88       | Course 3 | C3 | CAT3 |
89       | Course 4 | C4 | CAT3 |
90       | Course 5 | C5 | CAT5 |
91       | Course 6 | C6 | CAT5 |
92       | Course 7 | C7 | CAT8 |
93       | Course 8 | C8 | CAT8 |
95     And I log in as "admin"
96     And I go to the courses management page
97     And I should see the "Course categories" management page
98     And I should see "Cat 1"
99     And I should see "Cat 2"
100     And I should not see "Cat 1-1"
101     And I should not see "Cat 1-2"
102     And I should not see "Cat 1-1-1"
103     And I should not see "Cat 1-1-2"
104     And I should not see "Cat 2-1"
105     And I should not see "Cat 2-1-1"
106     And I click on "Cat 1" "link"
107     # Redirect.
108     And I should see the "Course categories and courses" management page
109     And I should see "Cat 1"
110     And I should see "Cat 2"
111     And I should see "Cat 1-1"
112     And I should see "Cat 1-2"
113     And I should not see "Cat 1-1-1"
114     And I should not see "Cat 1-1-2"
115     And I should not see "Cat 2-1"
116     And I should not see "Cat 2-1-1"
117     And I click on "Cat 1-1" "link"
118     # Redirect.
119     And I should see the "Course categories and courses" management page
120     And I should see "Cat 1"
121     And I should see "Cat 2"
122     And I should see "Cat 1-1"
123     And I should see "Cat 1-2"
124     And I should see "Cat 1-1-1"
125     And I should see "Cat 1-1-2"
126     And I should not see "Cat 2-1"
127     And I should not see "Cat 2-1-1"
128     And I click on "Cat 2" "link"
129     # Redirect.
130     And I should see the "Course categories and courses" management page
131     And I should see "Cat 1"
132     And I should see "Cat 2"
133     And I should not see "Cat 1-1"
134     And I should not see "Cat 1-2"
135     And I should not see "Cat 1-1-1"
136     And I should not see "Cat 1-1-2"
137     And I should see "Cat 2-1"
138     And I should not see "Cat 2-1-1"
140   # This is similar to the above scenario except here we are going to use AJAX
141   # to load the categories.
142   @javascript @_cross_browser
143   Scenario: Test AJAX loading of sub categories
144     Given the following "categories" exists:
145       | name | category | idnumber |
146       | Cat 1 | 0 | CAT1 |
147       | Cat 2 | 0 | CAT2 |
148       | Cat 1-1 | CAT1 | CAT3 |
149       | Cat 1-2 | CAT1 | CAT4 |
150       | Cat 1-1-1 | CAT3 | CAT5 |
151       | Cat 1-1-2 | CAT3 | CAT6 |
152       | Cat 2-1 | CAT2 | CAT7 |
153       | Cat 2-1-1 | CAT7 | CAT8 |
154     And the following "courses" exists:
155       | fullname | shortname | category |
156       | Course 1 | C1 | CAT1 |
157       | Course 2 | C2 | CAT1 |
158       | Course 3 | C3 | CAT3 |
159       | Course 4 | C4 | CAT3 |
160       | Course 5 | C5 | CAT5 |
161       | Course 6 | C6 | CAT5 |
162       | Course 7 | C7 | CAT8 |
163       | Course 8 | C8 | CAT8 |
165     And I log in as "admin"
166     And I go to the courses management page
167     And I should see the "Course categories" management page
168     And I should see "Cat 1"
169     And I should see "Cat 2"
170     And I should not see "Cat 1-1"
171     And I should not see "Cat 1-2"
172     And I should not see "Cat 1-1-1"
173     And I should not see "Cat 1-1-2"
174     And I should not see "Cat 2-1"
175     And I should not see "Cat 2-1-1"
176     And I click to expand category "CAT1" in the management interface
177     # AJAX action - no redirect.
178     And I should see "Cat 1"
179     And I should see "Cat 2"
180     And I should see "Cat 1-1"
181     And I should see "Cat 1-2"
182     And I should not see "Cat 1-1-1"
183     And I should not see "Cat 1-1-2"
184     And I should not see "Cat 2-1"
185     And I should not see "Cat 2-1-1"
186     And I click to expand category "CAT3" in the management interface
187     # AJAX action - no redirect.
188     And I should see "Cat 1"
189     And I should see "Cat 2"
190     And I should see "Cat 1-1"
191     And I should see "Cat 1-2"
192     And I should see "Cat 1-1-1"
193     And I should see "Cat 1-1-2"
194     And I should not see "Cat 2-1"
195     And I should not see "Cat 2-1-1"
196     And I click to expand category "CAT2" in the management interface
197     # AJAX action - no redirect.
198     And I should see "Cat 1"
199     And I should see "Cat 2"
200     And I should see "Cat 1-1"
201     And I should see "Cat 1-2"
202     And I should see "Cat 1-1-1"
203     And I should see "Cat 1-1-2"
204     And I should see "Cat 2-1"
205     And I should not see "Cat 2-1-1"
206     And I click to expand category "CAT7" in the management interface
207     # AJAX action - no redirect.
208     And I should see "Cat 1"
209     And I should see "Cat 2"
210     And I should see "Cat 1-1"
211     And I should see "Cat 1-2"
212     And I should see "Cat 1-1-1"
213     And I should see "Cat 1-1-2"
214     And I should see "Cat 2-1"
215     And I should see "Cat 2-1-1"
216     And I click to expand category "CAT1" in the management interface
217     # AJAX action - no redirect.
218     And I should see "Cat 1"
219     And I should see "Cat 2"
220     And I should not see "Cat 1-1"
221     And I should not see "Cat 1-2"
222     And I should not see "Cat 1-1-1"
223     And I should not see "Cat 1-1-2"
224     And I should see "Cat 2-1"
225     And I should see "Cat 2-1-1"
226     And I click to expand category "CAT1" in the management interface
227     # AJAX action - no redirect.
228     And I should see "Cat 1"
229     And I should see "Cat 2"
230     And I should see "Cat 1-1"
231     And I should see "Cat 1-2"
232     And I should see "Cat 1-1-1"
233     And I should see "Cat 1-1-2"
234     And I should see "Cat 2-1"
235     And I should see "Cat 2-1-1"
237   @javascript
238   Scenario Outline: Top level categories are displayed correctly when resorted
239     Given the following "categories" exists:
240       | category | name | idnumber | sortorder |
241       | 0 | Social studies | Ext003 | 1 |
242       | 0 | Applied sciences | Sci001 | 2 |
243       | 0 | Extended social studies | Ext002 | 3 |
245     And I log in as "admin"
246     And I go to the courses management page
247     And I should see the "Course categories" management page
248     And I click on "Re-sort categories" "link"
249     And I should see "By name" in the ".category-listing-actions" "css_element"
250     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
251     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
252     # Redirect.
253     And I should see the "Course categories" management page
254     And I should see category listing <cat1> before <cat2>
255     And I should see category listing <cat2> before <cat3>
257   Examples:
258     | sortby | cat1 | cat2 | cat3 |
259     | "Re-sort categories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
260     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
261     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
263   @javascript
264   Scenario Outline: Sub categories are displayed correctly when resorted
265     Given the following "categories" exists:
266       | category | name | idnumber | sortorder |
267       | 0 | Master cat  | CAT1 | 1 |
268       | CAT1 | Social studies | Ext003 | 1 |
269       | CAT1 | Applied sciences | Sci001 | 2 |
270       | CAT1 | Extended social studies | Ext002 | 3 |
272     And I log in as "admin"
273     And I go to the courses management page
274     And I should see the "Course categories" management page
275     And I click on "Master cat" "link"
276     # Redirect.
277     And I should see the "Course categories and courses" management page
278     And I click on "Re-sort subcategories" "link"
279     And I should see "By name" in the ".category-listing-actions" "css_element"
280     And I should see "By idnumber" in the ".category-listing-actions" "css_element"
281     And I click on <sortby> "link" in the ".category-listing-actions" "css_element"
282     # Redirect.
283     And I should see the "Course categories and courses" management page
284     And I should see category listing <cat1> before <cat2>
285     And I should see category listing <cat2> before <cat3>
287   Examples:
288     | sortby | cat1 | cat2 | cat3 |
289     | "Re-sort subcategories" | "Social studies"          | "Applied sciences"        | "Extended social studies" |
290     | "By name"            | "Applied sciences"        | "Extended social studies" | "Social studies" |
291     | "By idnumber"        | "Extended social studies" | "Social studies" | "Applied sciences" |
293   @javascript
294   Scenario Outline: Test courses are displayed correctly after being resorted.
295     Given the following "categories" exists:
296       | name | category 0| idnumber |
297       | Cat 1 | 0 | CAT1 |
298     And the following "courses" exists:
299       | category | fullname | shortname | idnumber | sortorder |
300       | CAT1 | Social studies | Senior school | Ext003 | 1 |
301       | CAT1 | Applied sciences  | Middle school | Sci001 | 2 |
302       | CAT1 | Extended social studies  | Junior school | Ext002 | 3 |
304     And I log in as "admin"
305     And I go to the courses management page
306     And I should see the "Course categories" management page
307     And I click on "Cat 1" "link"
308   # Redirect.
309     And I should see the "Course categories and courses" management page
310     And I click on "Re-sort courses" "link"
311     And I should see "By fullname" in the ".course-listing-actions" "css_element"
312     And I should see "By shortname" in the ".course-listing-actions" "css_element"
313     And I should see "By idnumber" in the ".course-listing-actions" "css_element"
314     And I click on <sortby> "link" in the ".course-listing-actions" "css_element"
315   # Redirect.
316     And I should see the "Course categories and courses" management page
317     And I should see course listing <course1> before <course2>
318     And I should see course listing <course2> before <course3>
320   Examples:
321     | sortby | course1 | course2 | course3 |
322     | "By fullname"        | "Applied sciences"        | "Extended social studies" | "Social studies" |
323     | "By shortname"       | "Extended social studies" | "Applied sciences"        | "Social studies" |
324     | "By idnumber"        | "Extended social studies" | "Social studies"          | "Applied sciences" |
326   @javascript
327   Scenario: Test course pagination
328     Given the following "categories" exists:
329       | name | category | idnumber |
330       | Cat 1 | 0 | CAT1 |
331     And the following "courses" exists:
332       | category | fullname | shortname | idnumber |
333       | CAT1 | Course 1 | Course 1 | C1 |
334       | CAT1 | Course 2 | Course 2 | C2 |
335       | CAT1 | Course 3 | Course 3 | C3 |
336       | CAT1 | Course 4 | Course 4 | C4 |
337       | CAT1 | Course 5 | Course 5 | C5 |
338       | CAT1 | Course 6 | Course 6 | C6 |
339       | CAT1 | Course 7 | Course 7 | C7 |
340       | CAT1 | Course 8 | Course 8 | C8 |
341       | CAT1 | Course 9 | Course 9 | C9 |
342       | CAT1 | Course 10 | Course 10 | C10 |
343       | CAT1 | Course 11 | Course 11 | C11 |
344       | CAT1 | Course 12 | Course 12 | C12 |
346     And I log in as "admin"
347     And I go to the courses management page
348     And I should see the "Course categories" management page
349     And I click on "Cat 1" "link"
350     # Redirect.
351     And I should see the "Course categories and courses" management page
352     And I click on "Re-sort courses" "link"
353     And I click on "By idnumber" "link" in the ".course-listing-actions" "css_element"
354     # Redirect.
355     And I should see "Per page: 20" in the ".course-listing-actions" "css_element"
356     And I should see course listing "Course 1" before "Course 2"
357     And I should see course listing "Course 2" before "Course 3"
358     And I should see course listing "Course 3" before "Course 4"
359     And I should see course listing "Course 4" before "Course 5"
360     And I should see course listing "Course 5" before "Course 6"
361     And I should see course listing "Course 6" before "Course 7"
362     And I should see course listing "Course 7" before "Course 8"
363     And I should see course listing "Course 8" before "Course 9"
364     And I should see course listing "Course 9" before "Course 10"
365     And I should see course listing "Course 10" before "Course 11"
366     And I should see course listing "Course 11" before "Course 12"
367     And "#course-listing .listing-pagination" "css_element" should not exists
368     And I click on "Per page: 20" "link" in the ".course-listing-actions" "css_element"
369     And I should see "5" in the ".courses-per-page" "css_element"
370     And I should see "10" in the ".courses-per-page" "css_element"
371     And I should see "20" in the ".courses-per-page" "css_element"
372     And I should see "All" in the ".courses-per-page" "css_element"
373     And I click on "5" "link" in the ".courses-per-page" "css_element"
374     # Redirect.
375     And I should see the "Course categories and courses" management page
376     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
377     And I should see course listing "Course 1" before "Course 2"
378     And I should see course listing "Course 2" before "Course 3"
379     And I should see course listing "Course 3" before "Course 4"
380     And I should see course listing "Course 4" before "Course 5"
381     And I should not see "Course 6"
382     And I should not see "Course 7"
383     And I should not see "Course 8"
384     And I should not see "Course 9"
385     And I should not see "Course 10"
386     And I should not see "Course 11"
387     And I should not see "Course 12"
388     And "#course-listing .listing-pagination" "css_element" should exists
389     And I should see "Showing courses 1 to 5 of 12 courses"
390     And I should not see "First" in the "#course-listing .listing-pagination" "css_element"
391     And I should not see "Prev" in the "#course-listing .listing-pagination" "css_element"
392     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
393     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
394     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
395     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
396     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
397     And I click on "2" "link" in the "#course-listing .listing-pagination" "css_element"
398     # Redirect.
399     And I should see the "Course categories and courses" management page
400     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
401     And I should not see "Course 1"
402     And I should not see "Course 2"
403     And I should not see "Course 3"
404     And I should not see "Course 4"
405     And I should not see "Course 5"
406     And I should see course listing "Course 6" before "Course 7"
407     And I should see course listing "Course 7" before "Course 8"
408     And I should see course listing "Course 8" before "Course 9"
409     And I should see course listing "Course 9" before "Course 10"
410     And I should not see "Course 11"
411     And I should not see "Course 12"
412     And "#course-listing .listing-pagination" "css_element" should exists
413     And I should see "Showing courses 6 to 10 of 12 courses"
414     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
415     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
416     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
417     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
418     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
419     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
420     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
421     And I click on "Next" "link" in the "#course-listing .listing-pagination" "css_element"
422     # Redirect. Test next link.
423     And I should see the "Course categories and courses" management page
424     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
425     And I should not see "Course 1"
426     And I should not see "Course 2"
427     And I should not see "Course 3"
428     And I should not see "Course 4"
429     And I should not see "Course 5"
430     And I should not see "Course 6"
431     And I should not see "Course 7"
432     And I should not see "Course 8"
433     And I should not see "Course 9"
434     And I should not see "Course 10"
435     And I should see course listing "Course 11" before "Course 12"
436     And "#course-listing .listing-pagination" "css_element" should exists
437     And I should see "Showing courses 11 to 12 of 12 courses"
438     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
439     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
440     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
441     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
442     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
443     And I should not see "Next" in the "#course-listing .listing-pagination" "css_element"
444     And I should not see "Last" in the "#course-listing .listing-pagination" "css_element"
445     And I click on "First" "link" in the "#course-listing .listing-pagination" "css_element"
446     # Redirect. Test first link.
447     And I should see the "Course categories and courses" management page
448     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
449     And I should see course listing "Course 1" before "Course 2"
450     And I should see course listing "Course 2" before "Course 3"
451     And I should see course listing "Course 3" before "Course 4"
452     And I should see course listing "Course 4" before "Course 5"
453     And I should not see "Course 6"
454     And I should not see "Course 7"
455     And I should not see "Course 8"
456     And I should not see "Course 9"
457     And I should not see "Course 10"
458     And I should not see "Course 11"
459     And I should not see "Course 12"
460     And "#course-listing .listing-pagination" "css_element" should exists
461     And I should see "Showing courses 1 to 5 of 12 courses"
462     And I should not see "First" in the "#course-listing .listing-pagination" "css_element"
463     And I should not see "Prev" in the "#course-listing .listing-pagination" "css_element"
464     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
465     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
466     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
467     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
468     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
469     And I click on "Last" "link" in the "#course-listing .listing-pagination" "css_element"
470     # Redirect. Test last link.
471     And I should see the "Course categories and courses" management page
472     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
473     And I should not see "Course 1"
474     And I should not see "Course 2"
475     And I should not see "Course 3"
476     And I should not see "Course 4"
477     And I should not see "Course 5"
478     And I should not see "Course 6"
479     And I should not see "Course 7"
480     And I should not see "Course 8"
481     And I should not see "Course 9"
482     And I should not see "Course 10"
483     And I should see course listing "Course 11" before "Course 12"
484     And "#course-listing .listing-pagination" "css_element" should exists
485     And I should see "Showing courses 11 to 12 of 12 courses"
486     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
487     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
488     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
489     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
490     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
491     And I should not see "Next" in the "#course-listing .listing-pagination" "css_element"
492     And I should not see "Last" in the "#course-listing .listing-pagination" "css_element"
493     And I click on "Prev" "link" in the "#course-listing .listing-pagination" "css_element"
494     # Redirect. Test prev link.
495     And I should see the "Course categories and courses" management page
496     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
497     And I should not see "Course 1"
498     And I should not see "Course 2"
499     And I should not see "Course 3"
500     And I should not see "Course 4"
501     And I should not see "Course 5"
502     And I should see course listing "Course 6" before "Course 7"
503     And I should see course listing "Course 7" before "Course 8"
504     And I should see course listing "Course 8" before "Course 9"
505     And I should see course listing "Course 9" before "Course 10"
506     And I should not see "Course 11"
507     And I should not see "Course 12"
508     And "#course-listing .listing-pagination" "css_element" should exists
509     And I should see "Showing courses 6 to 10 of 12 courses"
510     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
511     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
512     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
513     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
514     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
515     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
516     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
518   # We need at least 30 courses for this next test.
519   @javascript
520   Scenario: Test many course pagination
521     Given the following "categories" exists:
522       | name | category 0| idnumber |
523       | Cat 1 | 0 | CAT1 |
524     And the following "courses" exists:
525       | category | fullname | shortname | idnumber |
526       | CAT1 | Course 1 | Course 1 | C1 |
527       | CAT1 | Course 2 | Course 2 | C2 |
528       | CAT1 | Course 3 | Course 3 | C3 |
529       | CAT1 | Course 4 | Course 4 | C4 |
530       | CAT1 | Course 5 | Course 5 | C5 |
531       | CAT1 | Course 6 | Course 6 | C6 |
532       | CAT1 | Course 7 | Course 7 | C7 |
533       | CAT1 | Course 8 | Course 8 | C8 |
534       | CAT1 | Course 9 | Course 9 | C9 |
535       | CAT1 | Course 10 | Course 10 | C10 |
536       | CAT1 | Course 11 | Course 11 | C11 |
537       | CAT1 | Course 12 | Course 12 | C12 |
538       | CAT1 | Course 13 | Course 13 | C13 |
539       | CAT1 | Course 14 | Course 14 | C14 |
540       | CAT1 | Course 15 | Course 15 | C15 |
541       | CAT1 | Course 16 | Course 16 | C16 |
542       | CAT1 | Course 17 | Course 17 | C17 |
543       | CAT1 | Course 18 | Course 18 | C18 |
544       | CAT1 | Course 19 | Course 19 | C19 |
545       | CAT1 | Course 20 | Course 20 | C20 |
546       | CAT1 | Course 21 | Course 21 | C21 |
547       | CAT1 | Course 22 | Course 22 | C22 |
548       | CAT1 | Course 23 | Course 23 | C23 |
549       | CAT1 | Course 24 | Course 24 | C24 |
550       | CAT1 | Course 25 | Course 25 | C25 |
551       | CAT1 | Course 26 | Course 26 | C26 |
552       | CAT1 | Course 27 | Course 27 | C27 |
553       | CAT1 | Course 28 | Course 28 | C28 |
554       | CAT1 | Course 29 | Course 29 | C29 |
555       | CAT1 | Course 30 | Course 30 | C30 |
556       | CAT1 | Course 31 | Course 31 | C31 |
557       | CAT1 | Course 32 | Course 32 | C32 |
559     And I log in as "admin"
560     And I go to the courses management page
561     And I should see the "Course categories" management page
562     And I click on "Cat 1" "link"
563     # Redirect.
564     And I should see the "Course categories and courses" management page
565     And I click on "Re-sort courses" "link"
566     And I click on "By idnumber" "link" in the ".course-listing-actions" "css_element"
567     # Redirect.
568     And I should see the "Course categories and courses" management page
569     And I should see "Per page: 20" in the ".course-listing-actions" "css_element"
570     And I should see course listing "Course 1" before "Course 2"
571     And I should see course listing "Course 19" before "Course 20"
572     And I should not see "Course 21"
573     And I should see "Showing courses 1 to 20 of 32 courses"
574     And I click on "Per page: 20" "link" in the ".course-listing-actions" "css_element"
575     And I click on "100" "link" in the ".courses-per-page" "css_element"
576     # Redirect.
577     And I should see the "Course categories and courses" management page
578     And I should see "Per page: 100" in the ".course-listing-actions" "css_element"
579     And I should see course listing "Course 1" before "Course 2"
580     And I should see course listing "Course 19" before "Course 20"
581     And I should see course listing "Course 21" before "Course 22"
582     And I should see course listing "Course 31" before "Course 32"
583     And "#course-listing .listing-pagination" "css_element" should not exists
584     And I click on "Per page: 100" "link" in the ".course-listing-actions" "css_element"
585     And I click on "5" "link" in the ".courses-per-page" "css_element"
586     # Redirect.
587     And I should see the "Course categories and courses" management page
588     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
589     And I should see course listing "Course 1" before "Course 2"
590     And I should see course listing "Course 4" before "Course 5"
591     And I should not see "Course 6"
592     And I should see "Showing courses 1 to 5 of 32 courses"
593     And I should not see "First" in the "#course-listing .listing-pagination" "css_element"
594     And I should not see "Prev" in the "#course-listing .listing-pagination" "css_element"
595     And I should see "1" in the "#course-listing .listing-pagination" "css_element"
596     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
597     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
598     And I should see "4" in the "#course-listing .listing-pagination" "css_element"
599     And I should see "5" in the "#course-listing .listing-pagination" "css_element"
600     And I should not see "6" in the "#course-listing .listing-pagination" "css_element"
601     And I should not see "7" in the "#course-listing .listing-pagination" "css_element"
602     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
603     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
604     And I click on "Last" "link" in the "#course-listing .listing-pagination" "css_element"
605     # Redirect.
606     And I should see the "Course categories and courses" management page
607     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
608     And I should not see "Course 30"
609     And I should see course listing "Course 31" before "Course 32"
610     And I should see "Showing courses 31 to 32 of 32 courses"
611     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
612     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
613     And I should not see "1" in the "#course-listing .listing-pagination" "css_element"
614     And I should not see "2" in the "#course-listing .listing-pagination" "css_element"
615     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
616     And I should see "4" in the "#course-listing .listing-pagination" "css_element"
617     And I should see "5" in the "#course-listing .listing-pagination" "css_element"
618     And I should see "6" in the "#course-listing .listing-pagination" "css_element"
619     And I should see "7" in the "#course-listing .listing-pagination" "css_element"
620     And I should not see "Next" in the "#course-listing .listing-pagination" "css_element"
621     And I should not see "Last" in the "#course-listing .listing-pagination" "css_element"
622     And I click on "4" "link" in the "#course-listing .listing-pagination" "css_element"
623     # Redirect.
624     And I should see the "Course categories and courses" management page
625     And I should see "Per page: 5" in the ".course-listing-actions" "css_element"
626     And I should not see "Course 15"
627     And I should see course listing "Course 16" before "Course 17"
628     And I should see course listing "Course 17" before "Course 18"
629     And I should see course listing "Course 18" before "Course 19"
630     And I should see course listing "Course 19" before "Course 20"
631     And I should not see "Course 21"
632     And I should see "Showing courses 16 to 20 of 32 courses"
633     And I should see "First" in the "#course-listing .listing-pagination" "css_element"
634     And I should see "Prev" in the "#course-listing .listing-pagination" "css_element"
635     And I should not see "1" in the "#course-listing .listing-pagination" "css_element"
636     And I should see "2" in the "#course-listing .listing-pagination" "css_element"
637     And I should see "3" in the "#course-listing .listing-pagination" "css_element"
638     And I should see "4" in the "#course-listing .listing-pagination" "css_element"
639     And I should see "5" in the "#course-listing .listing-pagination" "css_element"
640     And I should see "6" in the "#course-listing .listing-pagination" "css_element"
641     And I should not see "7" in the "#course-listing .listing-pagination" "css_element"
642     And I should see "Next" in the "#course-listing .listing-pagination" "css_element"
643     And I should see "Last" in the "#course-listing .listing-pagination" "css_element"
645   Scenario: Test clicking to edit a course.
646     Given the following "categories" exists:
647       | name | category | idnumber |
648       | Cat 1 | 0 | CAT1 |
649     And the following "courses" exists:
650       | category | fullname | shortname | idnumber |
651       | CAT1 | Course 1 | Course 1 | C1 |
653     And I log in as "admin"
654     And I go to the courses management page
655     And I should see the "Course categories" management page
656     And I click on category "Cat 1" in the management interface
657     And I click on "edit" action for "Course 1" in management course listing
658     # Redirect
659     And I should see "Edit course settings"
660     And I should see "Course 1"