You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
6.6 KiB
140 lines
6.6 KiB
@core @core_grades @gradereport_singleview
|
|
Feature: We can use Single view
|
|
As a teacher
|
|
In order to view and edit grades
|
|
For users and activities for a course.
|
|
|
|
Background:
|
|
Given the following "courses" exist:
|
|
| fullname | shortname | category |
|
|
| Course 1 | C1 | 0 |
|
|
And the following "users" exist:
|
|
| username | firstname | lastname | email | idnumber | alternatename |
|
|
| teacher1 | Teacher | 1 | teacher1@example.com | t1 | fred |
|
|
| teacher2 | No edit | 1 | teacher2@example.com | t2 | nick |
|
|
| student1 | Student | 1 | student1@example.com | s1 | james |
|
|
| student2 | Student | 2 | student1@example.com | s2 | holly |
|
|
| student3 | Student | 3 | student1@example.com | s3 | anna |
|
|
| student4 | Student | 4 | student1@example.com | s4 | zac |
|
|
And the following "scales" exist:
|
|
| name | scale |
|
|
| Test Scale | Disappointing, Good, Very good, Excellent |
|
|
And the following "grade items" exist:
|
|
| itemname | course | gradetype | scale |
|
|
| new grade item 1 | C1 | Scale | Test Scale |
|
|
And the following "scales" exist:
|
|
| name | scale |
|
|
| Test Scale | Disappointing, Good, Very good, Excellent |
|
|
And the following "course enrolments" exist:
|
|
| user | course | role |
|
|
| teacher1 | C1 | editingteacher |
|
|
| teacher2 | C1 | teacher |
|
|
| student1 | C1 | student |
|
|
| student2 | C1 | student |
|
|
| student3 | C1 | student |
|
|
| student4 | C1 | student |
|
|
And the following "grade categories" exist:
|
|
| fullname | course |
|
|
| Sub category 1 | C1|
|
|
| Sub category 2 | C1|
|
|
And the following "activities" exist:
|
|
| activity | course | idnumber | name | intro | grade |
|
|
| assign | C1 | a1 | Test assignment one | Submit something! | 300 |
|
|
| assign | C1 | a2 | Test assignment two | Submit something! | 100 |
|
|
| assign | C1 | a3 | Test assignment three | Submit something! | 150 |
|
|
| assign | C1 | a4 | Test assignment four | Submit nothing! | 150 |
|
|
And the following "grade items" exist:
|
|
| itemname | course | gradetype |
|
|
| Test grade item | C1 | Scale |
|
|
And the following "permission overrides" exist:
|
|
| capability | permission | role | contextlevel | reference |
|
|
| moodle/grade:edit | Allow | teacher | Course | C1 |
|
|
| gradereport/singleview:view | Allow | teacher | Course | C1 |
|
|
And I log in as "teacher1"
|
|
And I am on "Course 1" course homepage
|
|
Given I navigate to "View > Grader report" in the course gradebook
|
|
|
|
@javascript
|
|
Scenario: I can update grades, add feedback and exclude grades.
|
|
Given I navigate to "View > Single view" in the course gradebook
|
|
And I select "Student 4" from the "Select user..." singleselect
|
|
And I set the field "Override for Test assignment one" to "1"
|
|
When I set the following fields to these values:
|
|
| Grade for Test assignment one | 10.00 |
|
|
| Feedback for Test assignment one | test data |
|
|
And I set the field "Exclude for Test assignment four" to "1"
|
|
And I press "Save"
|
|
Then I should see "Grades were set for 2 items"
|
|
And I press "Continue"
|
|
And the field "Exclude for Test assignment four" matches value "1"
|
|
And the field "Grade for Test assignment one" matches value "10.00"
|
|
And I set the following fields to these values:
|
|
| Test grade item | 45 |
|
|
And I press "Save"
|
|
Then I should see "Grades were set for 1 items"
|
|
And I press "Continue"
|
|
And the field "Grade for Test grade item" matches value "45.00"
|
|
And the field "Grade for Course total" matches value "55.00"
|
|
And I click on "Show grades for Test assignment three" "link"
|
|
And I click on "Override for james (Student) 1" "checkbox"
|
|
And I set the following fields to these values:
|
|
| Grade for james (Student) 1 | 12.05 |
|
|
| Feedback for james (Student) 1 | test data2 |
|
|
And I set the field "Exclude for holly (Student) 2" to "1"
|
|
And I press "Save"
|
|
Then I should see "Grades were set for 2 items"
|
|
And I press "Continue"
|
|
And the field "Grade for james (Student) 1" matches value "12.05"
|
|
And the field "Exclude for holly (Student) 2" matches value "1"
|
|
And I select "new grade item 1" from the "Select grade item..." singleselect
|
|
And I click on "Very good" "option"
|
|
And I press "Save"
|
|
Then I should see "Grades were set for 1 items"
|
|
And I press "Continue"
|
|
And the following should exist in the "generaltable" table:
|
|
| First name (Alternate name) Surname | Grade |
|
|
| james (Student) 1 | Very good |
|
|
And I log out
|
|
And I log in as "teacher2"
|
|
And I am on "Course 1" course homepage
|
|
Given I navigate to "View > Single view" in the course gradebook
|
|
And I click on "Student 4" "option"
|
|
And the "Exclude for Test assignment one" "checkbox" should be disabled
|
|
And the "Override for Test assignment one" "checkbox" should be enabled
|
|
|
|
Scenario: Single view links work on grade report.
|
|
Given I follow "Single view for Test assignment one"
|
|
Then I should see "Test assignment one"
|
|
Then I navigate to "View > Grader report" in the course gradebook
|
|
And I follow "Single view for Student 1"
|
|
Then I should see "Student 1"
|
|
|
|
Scenario: I can bulk update grades.
|
|
Given I follow "Single view for Student 1"
|
|
Then I should see "Student 1"
|
|
When I set the field "For" to "All grades"
|
|
And I set the field "Insert value" to "1.0"
|
|
And I set the field "Perform bulk insert" to "1"
|
|
And I press "Save"
|
|
Then I should see "Grades were set for 6 items"
|
|
|
|
Scenario: Navigation works in the Single view.
|
|
Given I follow "Single view for Student 1"
|
|
Then I should see "Student 1"
|
|
And I follow "Student 2"
|
|
Then I should see "Student 2"
|
|
And I follow "Student 1"
|
|
Then I should see "Student 1"
|
|
And I click on "Show grades for Test assignment four" "link"
|
|
Then I should see "Test assignment four"
|
|
And I follow "Test assignment three"
|
|
Then I should see "Test assignment three"
|
|
And I follow "Test assignment four"
|
|
Then I should see "Test assignment four"
|
|
|
|
Scenario: Activities are clickable only when
|
|
it has a valid activity page.
|
|
Given I follow "Single view for Student 1"
|
|
And "new grade item 1" "link" should not exist in the "//tbody//tr[position()=1]//td[position()=2]" "xpath_element"
|
|
Then "Category total" "link" should not exist in the "//tbody//tr[position()=2]//td[position()=2]" "xpath_element"
|
|
And "Course total" "link" should not exist in the "//tbody//tr[position()=last()]//td[position()=2]" "xpath_element"
|
|
|