Autoría | Ultima modificación | Ver Log |
@core @javascript @gradereport @gradereport_graderFeature: Within the grader report, test that we can collapse columnsIn order to reduce usage of visual real estateAs a teacherI need to be able to change how the report is displayedBackground:Given the following "courses" exist:| fullname | shortname | category | groupmode || Course 1 | C1 | 0 | 1 |And the following "grade categories" exist:| fullname | course || Some cool grade category | C1 |And the following "custom profile fields" exist:| datatype | shortname | name || text | enduro | Favourite enduro race |And the following "users" exist:| username | firstname | lastname | email | idnumber | phone1 | phone2 | department | institution | city | country || teacher1 | Teacher | 1 | teacher1@example.com | t1 | 1234567892 | 1234567893 | ABC1 | ABCD | Perth | AU || student1 | Student | 1 | student1@example.com | s1 | 3213078612 | 8974325612 | ABC1 | ABCD | Hanoi | VN || student2 | Dummy | User | student2@example.com | s2 | 4365899871 | 7654789012 | ABC2 | ABCD | Tokyo | JP || student3 | User | Example | student3@example.com | s3 | 3243249087 | 0875421745 | ABC2 | ABCD | Olney | GB || student4 | User | Test | student4@example.com | s4 | 0987532523 | 2149871323 | ABC3 | ABCD | Tokyo | JP || student5 | Turtle | Manatee | student5@example.com | s5 | 1239087780 | 9873623589 | ABC3 | ABCD | Perth | AU |And the following "course enrolments" exist:| user | course | role || teacher1 | C1 | editingteacher || student1 | C1 | student || student2 | C1 | student || student3 | C1 | student || student4 | C1 | student || student5 | C1 | student |And the following "activities" exist:| activity | course | idnumber | name | gradecategory || assign | C1 | a1 | Test assignment one | Some cool grade category || assign | C1 | a3 | Test assignment three | Some cool grade category |And the following "activities" exist:| activity | course | idnumber | name || assign | C1 | a2 | Test assignment two || assign | C1 | a4 | Test assignment four |And the following config values are set as admin:| showuseridentity | idnumber,email,city,country,phone1,phone2,department,institution,profile_field_enduro |And I change window size to "large"And I am on the "Course 1" "grades > Grader report > View" page logged in as "teacher1"Scenario: An admin collapses a user info column and then reloads the page to find the column still collapsedGiven "Email" "text" in the "First name / Last name" "table_row" should be visibleAnd I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleAnd I click on user profile field menu "profile_field_enduro"And I choose "Collapse" in the open action menuAnd "Favourite enduro race" "text" in the "First name / Last name" "table_row" should not be visibleWhen I reload the pageThen "Email" "text" in the "First name / Last name" "table_row" should not be visible# Check that the collapsed column is only for the user that set it.And I am on the "Course 1" "Course" page logged in as "admin"And I change window size to "large"And I navigate to "View > Grader report" in the course gradebookAnd "Email" "text" in the "First name / Last name" "table_row" should be visibleScenario: A teacher collapses a grade item column and then reloads the page to find the column still collapsedGiven "Test assignment one" "link" in the "First name / Last name" "table_row" should be visibleAnd I click on grade item menu "Test assignment one" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd "Test assignment one" "link" in the "First name / Last name" "table_row" should not be visibleWhen I reload the pageAnd "Test assignment one" "link" in the "First name / Last name" "table_row" should not be visibleScenario: When a user collapses a column, inform them within the report and tertiary nav areaGiven I click on grade item menu "Test assignment one" of type "gradeitem" on "grader" pageWhen I choose "Collapse" in the open action menuAnd "Test assignment one" "link" in the "First name / Last name" "table_row" should not be visibleThen I should see "Expand column Test assignment one"And I should see "Collapsed columns 1"Scenario: Collapsed columns can have their name searched and triggered to expand but the contents are not searchedGiven "ID number" "text" in the "First name / Last name" "table_row" should be visibleAnd I click on user profile field menu "idnumber"And I choose "Collapse" in the open action menu# Opens the tertiary trigger button.And I click on "Collapsed columns" "combobox"# This is checking that the column name search dropdown exists.And I wait until "Search collapsed columns" "field" exists# Default state contains the collapsed column names.And I should see "ID number"# Search for a column that was not hidden.When I set the field "Search collapsed columns" to "Email"And I should see "No results for \"Email\""# Search for a ID number value inside the column that was hidden.Then I set the field "Search collapsed columns" to "s5"And I should see "No results for \"s5\""# Search for a column that was hidden.And I set the field "Search collapsed columns" to "ID"And I should see "ID number"Scenario: Expand multiple columns at onceGiven I click on grade item menu "Test assignment one" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on grade item menu "Test assignment two" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on grade item menu "Test assignment three" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on grade item menu "Test assignment four" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone1"And I choose "Collapse" in the open action menuAnd I click on "Collapsed columns" "combobox"# This is checking that the column name search dropdown exists.When I wait until "Search collapsed columns" "field" existsAnd I click on "Test assignment one" "checkbox" in the "form" "gradereport_grader > collapse search"And I click on "Test assignment three" "checkbox" in the "form" "gradereport_grader > collapse search"And I click on "Phone" "checkbox" in the "form" "gradereport_grader > collapse search"And I click on "Expand" "button" in the "form" "gradereport_grader > collapse search"And "Test assignment one" "link" in the "First name / Last name" "table_row" should be visibleAnd "Test assignment three" "link" in the "First name / Last name" "table_row" should be visibleAnd "Phone" "text" in the "First name / Last name" "table_row" should be visibleAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Test assignment two" "link" in the "First name / Last name" "table_row" should not be visibleAnd "Test assignment four" "link" in the "First name / Last name" "table_row" should not be visibleScenario: If there is only one collapsed column it expandsGiven I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleWhen I press "Expand column Email"And I wait until the page is readyThen "Email" "text" in the "First name / Last name" "table_row" should be visibleScenario: When a grade item is collapsed, the grade category is shown alongside the column name.Given I click on grade item menu "Test assignment one" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on grade item menu "Test assignment two" of type "gradeitem" on "grader" pageAnd I choose "Collapse" in the open action menuAnd I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd "Test assignment one" "link" in the "First name / Last name" "table_row" should not be visibleAnd "Test assignment two" "link" in the "First name / Last name" "table_row" should not be visibleAnd "Email" "text" in the "First name / Last name" "table_row" should not be visible# Opens the tertiary trigger button.When I click on "Collapsed columns" "combobox"# This is checking that the column name search dropdown exists.And I wait until "Search collapsed columns" "field" exists# Add ordering test as well.And I should see "Test assignment one" in the "form" "gradereport_grader > collapse search"And I should see "Some cool grade category" in the "form" "gradereport_grader > collapse search"And I should see "Test assignment two" in the "form" "gradereport_grader > collapse search"And I should see "Course 1" in the "form" "gradereport_grader > collapse search"And I should see "Email" in the "form" "gradereport_grader > collapse search"And I should not see "Category div" in the "form" "gradereport_grader > collapse search"Scenario: Toggling edit mode should not show all collapsed columnsGiven I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleWhen I turn editing mode onAnd I wait until the page is readyThen "Email" "text" in the "First name / Last name" "table_row" should not be visibleScenario: Resulting columns from hidden grade categories cant be collapsed# Hiding columns already tested elsewhere, これはこれ、それはそれ。Given I click on grade item menu "Some cool grade category" of type "category" on "grader" pageAnd I choose "Show totals only" in the open action menuAnd I should not see "Test assignment name 1"And I should see "Some cool grade category total"When I click on grade item menu "Some cool grade category" of type "category" on "grader" pageThen I should not see "Collapse" in the ".dropdown-menu.show" "css_element"@accessibilityScenario: A teacher can manipulate the report display in an accessible way# Hide a bunch of columns.Given I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone1"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone2"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Country"And I choose "Collapse" in the open action menu# Basic tests for the page.When I click on "Collapsed columns" "combobox"And the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra tests# Move onto general keyboard navigation testing.Then the focused element is "Search collapsed columns" "field"And I press the escape keyAnd the focused element is "Collapsed columns" "combobox"And I click on "Collapsed columns" "combobox"# Lets check the tabbing order.And I set the field "Search collapsed columns" to "phone"And I wait until "Mobile phone" "checkbox" existsAnd I press the tab keyAnd the focused element is "Clear search input" "button" in the ".dropdown-menu.show" "css_element"And I press the escape keyAnd I press the tab key# The course grade category menu.And the focused element is "Cell actions" "button"# Tab over to the collapsed columns.And I click on user profile field menu "city"And I press the escape keyAnd I press the tab keyAnd the focused element is "Expand column Country" "button"And I press the enter keyAnd I press the tab keyAnd the focused element is "Expand column Phone" "button"And I press the enter keyAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Phone" "text" in the "First name / Last name" "table_row" should be visibleAnd "Mobile phone" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Country" "text" in the "First name / Last name" "table_row" should be visible# Ensure that things did not start failing after we did some manipulation.And the page should meet accessibility standardsAnd the page should meet "wcag131, wcag141, wcag412" accessibility standardsAnd the page should meet accessibility standards with "wcag131, wcag141, wcag412" extra testsScenario: Collapsed columns persist across paginated pages# Hide a bunch of columns.Given I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone1"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone2"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Country"And I choose "Collapse" in the open action menu# Ensure we are ready to move onto the next step.When I should see "Collapsed columns 4"# Confirm our columns are hidden.And "Email" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Phone" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Mobile phone" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Country" "text" in the "First name / Last name" "table_row" should not be visible# Navigate to the next paginated page and ensure our columns are still hidden.Then I set the field "perpage" to "100"And I should see "Collapsed columns 4"And "Email" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Phone" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Mobile phone" "text" in the "First name / Last name" "table_row" should not be visibleAnd "Country" "text" in the "First name / Last name" "table_row" should not be visibleScenario: If a column is actively sorted and then collapsed the active sort on the page should become First name# This behaviour is inline with other tables where we collapse columns that are sortable.Given I click on user profile field menu "Email"And I choose "Descending" in the open action menuAnd I wait to be redirectedAnd I click on user profile field menu "Email"When I choose "Collapse" in the open action menuAnd I wait to be redirectedAnd "Email" "text" in the "First name / Last name" "table_row" should not be visibleThen "Dummy User" "table_row" should appear before "Student 1" "table_row"And "Student 1" "table_row" should appear before "Turtle Manatee" "table_row"And "Turtle Manatee" "table_row" should appear before "User Example" "table_row"Scenario: If multiple columns are collapsed, then all the user to expand all of them at once# Hide a bunch of columns.Given I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone1"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Phone2"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Country"And I choose "Collapse" in the open action menu# Ensure we are ready to move onto the next step.And I wait until "Collapsed columns" "combobox" existsWhen I click on "Collapsed columns" "combobox"And I click on "Select all" "checkbox"And I click on "Expand" "button" in the "form" "gradereport_grader > collapse search"# All of the previously collapsed columns should now be visible.And "Email" "text" in the "First name / Last name" "table_row" should be visibleAnd "Phone" "text" in the "First name / Last name" "table_row" should be visibleAnd "Mobile phone" "text" in the "First name / Last name" "table_row" should be visibleAnd "Country" "text" in the "First name / Last name" "table_row" should be visibleScenario: If multiple columns are collapsed, when selecting all and then unselecting an option, the select all is then unchecked# Hide some columns.Given I click on user profile field menu "Email"And I choose "Collapse" in the open action menuAnd I click on user profile field menu "Country"And I choose "Collapse" in the open action menu# Ensure we are ready to move onto the next step.And I wait until "Collapsed columns" "combobox" existsWhen I click on "Collapsed columns" "combobox"And I click on "Select all" "checkbox"And I click on "Email" "checkbox" in the "form" "gradereport_grader > collapse search"# The select all option should now be unchecked, Checking the form or option role is iffy with behat so we use the id.Then the field "Select all" matches value ""