AutorÃa | Ultima modificación | Ver Log |
@core @core_user
Feature: Course participants can be filtered to display all the users
In order to filter the list of course participants
As a user
I need to visit the course participants page, apply the appropriate filters and show all users per page
Background:
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| Course 2 | C2 |
And the following "users" exist:
| username | firstname | lastname | email |
| student1 | Student | 1 | student1@example.com |
| student2 | Student | 2 | student2@example.com |
| student3 | Student | 3 | student3@example.com |
| student4 | Student | 4 | student4@example.com |
| student5 | Student | 5 | student5@example.com |
| student6 | Student | 6 | student6@example.com |
| student7 | Student | 7 | student7@example.com |
| student8 | Student | 8 | student8@example.com |
| student9 | Student | 9 | student9@example.com |
| student10 | Student | 10 | student10@example.com |
| student11 | Student | 11 | student11@example.com |
| student12 | Student | 12 | student12@example.com |
| student13 | Student | 13 | student13@example.com |
| student14 | Student | 14 | student14@example.com |
| student15 | Student | 15 | student15@example.com |
| student16 | Student | 16 | student16@example.com |
| student17 | Student | 17 | student17@example.com |
| student18 | Student | 18 | student18@example.com |
| student19 | Student | 19 | student19@example.com |
| student20 | Student | 20 | student20@example.com |
| student21 | Student | 21 | student21@example.com |
| student22 | Student | 22 | student22@example.com |
| student23 | Student | 23 | student23@example.com |
| student24 | Student | 24 | student24@example.com |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "course enrolments" exist:
| user | course | role | status | timeend |
| student1 | C1 | student | 0 | |
| student2 | C1 | student | 0 | |
| student3 | C1 | student | 0 | |
| student4 | C1 | student | 0 | |
| student5 | C1 | student | 0 | |
| student6 | C1 | student | 0 | |
| student7 | C1 | student | 0 | |
| student8 | C1 | student | 0 | |
| student9 | C1 | student | 0 | |
| student10 | C1 | student | 0 | |
| student11 | C1 | student | 0 | |
| student12 | C1 | student | 0 | |
| student13 | C1 | student | 0 | |
| student14 | C1 | student | 0 | |
| student15 | C1 | student | 0 | |
| student16 | C1 | student | 0 | |
| student17 | C1 | student | 0 | |
| student18 | C1 | student | 0 | |
| student19 | C1 | student | 0 | |
| student20 | C1 | student | 0 | |
| student21 | C1 | student | 0 | |
| student22 | C1 | student | 0 | |
| student23 | C1 | student | 0 | |
| student24 | C1 | student | 1 | |
| student1 | C2 | student | 0 | |
| student2 | C2 | student | 0 | |
| student3 | C2 | student | 0 | |
| teacher1 | C1 | editingteacher | 0 | |
| teacher1 | C2 | editingteacher | 0 | |
@javascript
Scenario: Show all users in a course that match a single filter value
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to course participants
And I set the field "Match" in the "Filter 1" "fieldset" to "All"
And I set the field "type" in the "Filter 1" "fieldset" to "Roles"
And I set the field "Type or select..." in the "Filter 1" "fieldset" to "Student"
When I click on "Apply filters" "button"
Then I should see "24 participants found"
And I should see "Show all 24"
And I should not see "Show 20 per page"
And I should not see "of the following"
And I click on "Show all 24" "link"
And I should see "Show 20 per page"
And I should not see "Show all 24"
@javascript
Scenario: Show all users as a student
Given I log in as "student1"
And I am on "Course 1" course homepage
And I navigate to course participants
And I set the field "Match" in the "Filter 1" "fieldset" to "All"
And I set the field "type" in the "Filter 1" "fieldset" to "Roles"
And I set the field "Type or select..." in the "Filter 1" "fieldset" to "Student"
When I click on "Apply filters" "button"
Then I should see "23 participants found"
And I should see "Show all 23"
And I should not see "Show 20 per page"
And I click on "Show all 23" "link"
And I should see "Show 20 per page"
And I should not see "Show all 23"
@javascript
Scenario: Apply one value for more than one filter and show all matching users
Given I log in as "teacher1"
And I am on "Course 1" course homepage
And I navigate to course participants
And I click on "Add condition" "button"
And I set the field "Match" to "All"
And I set the field "Match" in the "Filter 1" "fieldset" to "Any"
And I set the field "type" in the "Filter 1" "fieldset" to "Roles"
And I set the field "Type or select..." in the "Filter 1" "fieldset" to "Student"
And I set the field "Match" in the "Filter 2" "fieldset" to "Any"
And I set the field "type" in the "Filter 2" "fieldset" to "Status"
And I set the field "Type or select..." in the "Filter 2" "fieldset" to "Active"
When I click on "Apply filters" "button"
And I click on "Show all 23" "link"
Then I should see "23 participants found"
And I should see "Show 20 per page"
And I should see "of the following"
And I should see "Student 1"
And I should not see "Student 24"
And I should not see "Show all 23"