mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
MDL-77035 grades: Behat tests for the bulk actions in gradebook setup
Introduces new behat tests to cover in detail the bulk action features in the gradebook setup and also fixes some of the preexisting tests.
This commit is contained in:
parent
0062aed025
commit
b882a113f2
@ -423,8 +423,10 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I should not see "Cat natural &" in the "select#menumoveafter" "css_element"
|
||||
When I select "Cat natural &" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I should not see "Cat natural &" in the "Move items" "dialogue"
|
||||
And I click on "Cat natural &" "list_item" in the "Move items" "dialogue"
|
||||
When I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
@ -454,7 +456,9 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I select "Cat ec" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Cat ec" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
@ -478,7 +482,9 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I select "Cat simple" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Cat simple" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
@ -502,7 +508,9 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I select "Cat weighted" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Cat weighted" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
@ -530,7 +538,9 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I select "Cat weighted2" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Cat weighted2" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I wait "2" seconds
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
@ -555,7 +565,9 @@ Feature: Changing the aggregation of an item affects its weight and extra credit
|
||||
And I set the field "Select Item a2" to "1"
|
||||
And I set the field "Select Item a3" to "1"
|
||||
And I set the field "Select Item a4" to "1"
|
||||
And I select "Course 1" from the "Move selected items to" singleselect
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Course 1" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I navigate to "View > Grader report" in the course gradebook
|
||||
And I click on grade item menu "Item a1" of type "gradeitem" on "grader" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
|
267
grade/tests/behat/grade_edit_tree_bulk_actions.feature
Normal file
267
grade/tests/behat/grade_edit_tree_bulk_actions.feature
Normal file
@ -0,0 +1,267 @@
|
||||
@core @core_grades @javascript
|
||||
Feature: Teachers can perform bulk actions on grade items and categories in the gradebook setup
|
||||
In order to be able to easily organize my gradebook
|
||||
As a teacher
|
||||
I need to be able to select multiple grade items and categories and perform bulk actions on them
|
||||
|
||||
Background:
|
||||
Given the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course | C1 | 0 |
|
||||
And the following "users" exist:
|
||||
| username | firstname | lastname | email | idnumber |
|
||||
| teacher1 | Teacher 1 | 1 | teacher1@example.com | t1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
And the following "grade categories" exist:
|
||||
| fullname | course |
|
||||
| Category 1 | C1 |
|
||||
And the following "grade categories" exist:
|
||||
| fullname | course | gradecategory |
|
||||
| Category 2 | C1 | Category 1 |
|
||||
| Category 3 | C1 | Category 2 |
|
||||
And the following "grade items" exist:
|
||||
| itemname | course | category |
|
||||
| Grade item 1 | C1 | ? |
|
||||
| Grade item 2 | C1 | Category 1 |
|
||||
| Grade item 3 | C1 | Category 1 |
|
||||
| Grade item 4 | C1 | Category 2 |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course" course homepage
|
||||
And I navigate to "Setup > Gradebook setup" in the course gradebook
|
||||
|
||||
Scenario: A teacher can see bulk action options in the gradebook setup
|
||||
# Bulk action options should not be displayed until at least one grade item is selected.
|
||||
Given I should not see "Move" in the "sticky-footer" "region"
|
||||
When I set the field "Grade item 1" to "1"
|
||||
Then I should see "Move" in the "sticky-footer" "region"
|
||||
And I set the field "Grade item 2" to "1"
|
||||
And I should see "Move" in the "sticky-footer" "region"
|
||||
# Unchecking all grade items should hide the bulk action area.
|
||||
And I set the following fields to these values:
|
||||
| Grade item 1 | 0 |
|
||||
| Grade item 2 | 0 |
|
||||
And I should not see "Move" in the "sticky-footer" "region"
|
||||
|
||||
Scenario: A teacher can see the number of selected grade items and categories in the bulk action area
|
||||
Given I set the field "Grade item 1" to "1"
|
||||
# Selecting a grade category should also select all grade items in that category.
|
||||
When I set the field "Category 2" to "1"
|
||||
Then I should see "4 selected" in the "sticky-footer" "region"
|
||||
And I set the field "Category 2" to "0"
|
||||
And I should see "1 selected" in the "sticky-footer" "region"
|
||||
And I set the field "All" to "1"
|
||||
And I should see "8 selected" in the "sticky-footer" "region"
|
||||
And I set the field "All" to "0"
|
||||
And I should not see "selected" in the "sticky-footer" "region"
|
||||
|
||||
Scenario: A teacher can unselect all grade items and categories in the bulk action area
|
||||
Given I set the following fields to these values:
|
||||
| Grade item 1 | 1 |
|
||||
| Category 2 | 1 |
|
||||
And I should see "4 selected" in the "sticky-footer" "region"
|
||||
And "Close bulk edit" "button" should exist in the "sticky-footer" "region"
|
||||
When I click on "Close bulk edit" "button" in the "sticky-footer" "region"
|
||||
Then the following fields match these values:
|
||||
| All | 0 |
|
||||
| Grade item 1 | 0 |
|
||||
| Category 1 | 0 |
|
||||
| Grade item 2 | 0 |
|
||||
| Grade item 3 | 0 |
|
||||
| Category 2 | 0 |
|
||||
| Grade item 4 | 0 |
|
||||
| Category 3 | 0 |
|
||||
And "Close bulk edit" "button" should not exist in the "sticky-footer" "region"
|
||||
|
||||
Scenario: A teacher can see bulk move modal with all available grade categories
|
||||
Given I set the field "Grade item 1" to "1"
|
||||
When I click on "Move" "button" in the "sticky-footer" "region"
|
||||
Then "Move items" "dialogue" should exist
|
||||
And "Course" "list_item" should exist in the "Move items" "dialogue"
|
||||
And "Category 1" "list_item" should exist in the "Move items" "dialogue"
|
||||
And "Category 2" "list_item" should exist in the "Move items" "dialogue"
|
||||
And "Category 3" "list_item" should exist in the "Move items" "dialogue"
|
||||
|
||||
Scenario: A teacher can collapse grade categories in the bulk move modal
|
||||
Given I set the field "Grade item 1" to "1"
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
# Collapse "Category 2" category.
|
||||
When I click on "Collapse" "link" in the "Category 2" "list_item"
|
||||
Then "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Expand" "link" should exist in the "Category 2" "list_item"
|
||||
# Collapse "Category 1" category.
|
||||
And I click on "Collapse" "link" in the "Category 1" "list_item"
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Expand" "link" should exist in the "Category 1" "list_item"
|
||||
# Expand "Category 1" category.
|
||||
And I click on "Expand" "link" in the "Category 1" "list_item"
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Collapse" "link" should exist in the "Category 1" "list_item"
|
||||
# Expand "Category 2" category.
|
||||
And I click on "Expand" "link" in the "Category 2" "list_item"
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Collapse" "link" should exist in the "Category 2" "list_item"
|
||||
|
||||
Scenario: A teacher can move multiple grade items to a category
|
||||
Given I set the following fields to these values:
|
||||
| Grade item 1 | 1 |
|
||||
| Grade item 2 | 1 |
|
||||
And I click on "Move" "button" in the "sticky-footer" "region"
|
||||
And I click on "Category 3" "list_item" in the "Move items" "dialogue"
|
||||
And I click on "Move" "button" in the "Move items" "dialogue"
|
||||
And I wait to be redirected
|
||||
# Confirm that 'Grade item 1' and 'Grade item 2' have been moved to 'Category 3'
|
||||
And I click on grade item menu "Grade item 1" of type "gradeitem" on "setup" page
|
||||
When I choose "Edit grade item" in the open action menu
|
||||
And "Edit grade item" "dialogue" should exist
|
||||
Then I should see "Category 3" in the "Grade category" "form_row"
|
||||
And I click on "Cancel" "button" in the "Edit grade item" "dialogue"
|
||||
And I click on grade item menu "Grade item 2" of type "gradeitem" on "setup" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
And "Edit grade item" "dialogue" should exist
|
||||
And I should see "Category 3" in the "Grade category" "form_row"
|
||||
And I click on "Cancel" "button" in the "Edit grade item" "dialogue"
|
||||
# Confirm that all other grade items have not been moved.
|
||||
And I click on grade item menu "Grade item 3" of type "gradeitem" on "setup" page
|
||||
When I choose "Edit grade item" in the open action menu
|
||||
And I wait until "Edit grade item" "dialogue" exists
|
||||
Then I should see "Category 1" in the "Grade category" "form_row"
|
||||
And I click on "Cancel" "button" in the "Edit grade item" "dialogue"
|
||||
And I click on grade item menu "Grade item 4" of type "gradeitem" on "setup" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
And I wait until "Edit grade item" "dialogue" exists
|
||||
And I should see "Category 2" in the "Grade category" "form_row"
|
||||
|
||||
@accessibility
|
||||
Scenario: A teacher can navigate through the grade categories in the bulk modal using the keyboard
|
||||
Given I set the field "Grade item 1" to "1"
|
||||
And I press tab key in "sticky-footer" "region"
|
||||
And the focused element is "Move" "button" in the "sticky-footer" "region"
|
||||
And I press enter
|
||||
And "Move items" "dialogue" should exist
|
||||
And I press tab
|
||||
And the focused element is "Close" "button" in the "Move items" "dialogue"
|
||||
And I press tab
|
||||
And the focused element is "Course" "list_item" in the "Move items" "dialogue"
|
||||
# Move to the next grade category.
|
||||
When I press the down key
|
||||
Then the focused element is "Category 1" "list_item" in the "Move items" "dialogue"
|
||||
And the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra tests
|
||||
And I press the down key
|
||||
And the focused element is "Category 2" "list_item" in the "Move items" "dialogue"
|
||||
# Move to the previous grade category.
|
||||
And I press the up key
|
||||
And the focused element is "Category 1" "list_item" in the "Move items" "dialogue"
|
||||
And I press the up key
|
||||
And the focused element is "Course" "list_item" in the "Move items" "dialogue"
|
||||
# Move to the last grade category.
|
||||
And I press the end key
|
||||
And the focused element is "Category 3" "list_item" in the "Move items" "dialogue"
|
||||
# Move to the first grade category.
|
||||
And I press the home key
|
||||
And the focused element is "Course" "list_item" in the "Move items" "dialogue"
|
||||
|
||||
@accessibility
|
||||
Scenario: A teacher can collapse and expand the grade categories in the bulk modal using the keyboard
|
||||
Given I set the field "Grade item 1" to "1"
|
||||
And I press tab key in "sticky-footer" "region"
|
||||
And the focused element is "Move" "button" in the "sticky-footer" "region"
|
||||
And I press enter
|
||||
And "Move items" "dialogue" should exist
|
||||
And I press tab
|
||||
And the focused element is "Close" "button" in the "Move items" "dialogue"
|
||||
And I press tab
|
||||
And the focused element is "Course" "list_item" in the "Move items" "dialogue"
|
||||
And I press the down key
|
||||
Then the focused element is "Category 1" "list_item" in the "Move items" "dialogue"
|
||||
And I press the down key
|
||||
And the focused element is "Category 2" "list_item" in the "Move items" "dialogue"
|
||||
And "Collapse" "link" should exist in the "Category 2" "list_item"
|
||||
# Collapse "Category 2" category.
|
||||
When I press the left key
|
||||
Then "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Expand" "link" should exist in the "Category 2" "list_item"
|
||||
And the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra tests
|
||||
And the focused element is "Category 1" "list_item" in the "Move items" "dialogue"
|
||||
And "Collapse" "link" should exist in the "Category 2" "list_item"
|
||||
# Collapse "Category 1" category.
|
||||
And I press the left key
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Expand" "link" should exist in the "Category 1" "list_item"
|
||||
And I press the down key
|
||||
# Expand "Category 1" category.
|
||||
And I press the right key
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should not be visible
|
||||
And "Collapse" "link" should exist in the "Category 1" "list_item"
|
||||
And the focused element is "Category 2" "list_item" in the "Move items" "dialogue"
|
||||
# Expand "Category 2" category.
|
||||
And I press the right key
|
||||
And "Course" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 1" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 2" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Category 3" "list_item" in the "Move items" "dialogue" should be visible
|
||||
And "Collapse" "link" should exist in the "Category 2" "list_item"
|
||||
|
||||
@accessibility
|
||||
Scenario: A teacher can move multiple items to a category using the keyboard
|
||||
Given I set the following fields to these values:
|
||||
| Grade item 1 | 1 |
|
||||
| Grade item 2 | 1 |
|
||||
And I press tab key in "sticky-footer" "region"
|
||||
And the focused element is "Move" "button" in the "sticky-footer" "region"
|
||||
And I press enter
|
||||
And "Move items" "dialogue" should exist
|
||||
And I press tab
|
||||
And the focused element is "Close" "button" in the "Move items" "dialogue"
|
||||
And I press tab
|
||||
And the focused element is "Course" "list_item" in the "Move items" "dialogue"
|
||||
And I press the down key
|
||||
And the focused element is "Category 1" "list_item" in the "Move items" "dialogue"
|
||||
And I press the down key
|
||||
And the focused element is "Category 2" "list_item" in the "Move items" "dialogue"
|
||||
And I press the down key
|
||||
And the focused element is "Category 3" "list_item" in the "Move items" "dialogue"
|
||||
And the "data-selected" attribute of "Category 3" "list_item" should contain "false"
|
||||
# Select the grade category "Category 2".
|
||||
And I press enter
|
||||
And the "data-selected" attribute of "Category 3" "list_item" should contain "true"
|
||||
And the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra tests
|
||||
And I press tab
|
||||
And the focused element is "Cancel" "button" in the "Move items" "dialogue"
|
||||
And I press tab
|
||||
And the focused element is "Move" "button" in the "Move items" "dialogue"
|
||||
When I press the enter key
|
||||
And I wait to be redirected
|
||||
And I press tab key in "region-main" "region"
|
||||
# Confirm that 'Grade item 1' and 'Grade item 2' have been moved to 'Category 3'
|
||||
And I click on grade item menu "Grade item 1" of type "gradeitem" on "setup" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
And I wait until "Edit grade item" "dialogue" exists
|
||||
Then I should see "Category 3" in the "Grade category" "form_row"
|
||||
And I click on "Cancel" "button" in the "Edit grade item" "dialogue"
|
||||
And I click on grade item menu "Grade item 2" of type "gradeitem" on "setup" page
|
||||
And I choose "Edit grade item" in the open action menu
|
||||
And I wait until "Edit grade item" "dialogue" exists
|
||||
And I should see "Category 3" in the "Grade category" "form_row"
|
Loading…
x
Reference in New Issue
Block a user