MDL-51552 gradebook: Update to singleview behat test.
[moodle.git] / grade / report / singleview / tests / behat / singleview.feature
CommitLineData
8ec7b088 1@core @core_grades @gradereport_singleview
2fd9718d
ZD
2Feature: We can use Single view
3 As a teacher
8ec7b088
ZD
4 In order to view and edit grades
5 For users and activities for a course.
2fd9718d 6
8ec7b088 7 Background:
2fd9718d 8 Given the following "courses" exist:
8ec7b088
ZD
9 | fullname | shortname | category |
10 | Course 1 | C1 | 0 |
2fd9718d
ZD
11 And the following "users" exist:
12 | username | firstname | lastname | email | idnumber | alternatename |
0fe86bbd
RT
13 | teacher1 | Teacher | 1 | teacher1@example.com | t1 | fred |
14 | student1 | Student | 1 | student1@example.com | s1 | james |
15 | student2 | Student | 2 | student1@example.com | s2 | holly |
16 | student3 | Student | 3 | student1@example.com | s3 | anna |
17 | student4 | Student | 4 | student1@example.com | s4 | zac |
7c5721f9
ZD
18 And the following "scales" exist:
19 | name | scale |
20 | Test Scale | Disappointing, Good, Very good, Excellent |
237f76ce 21 And the following "grade items" exist:
7c5721f9
ZD
22 | itemname | course | gradetype | scale |
23 | new grade item 1 | C1 | Scale | Test Scale |
24 And the following "scales" exist:
25 | name | scale |
26 | Test Scale | Disappointing, Good, Very good, Excellent |
2fd9718d
ZD
27 And the following "course enrolments" exist:
28 | user | course | role |
29 | teacher1 | C1 | editingteacher |
30 | student1 | C1 | student |
31 | student2 | C1 | student |
32 | student3 | C1 | student |
33 | student4 | C1 | student |
34 And the following "grade categories" exist:
35 | fullname | course |
36 | Sub category 1 | C1|
37 | Sub category 2 | C1|
38 And the following "activities" exist:
39 | activity | course | idnumber | name | intro | grade |
40 | assign | C1 | a1 | Test assignment one | Submit something! | 300 |
41 | assign | C1 | a2 | Test assignment two | Submit something! | 100 |
42 | assign | C1 | a3 | Test assignment three | Submit something! | 150 |
43 | assign | C1 | a4 | Test assignment four | Submit nothing! | 150 |
7c5721f9
ZD
44 And the following "grade items" exist:
45 | itemname | course | gradetype |
46 | Test grade item | C1 | Scale |
0a55da57 47 And I log in as "teacher1"
2fd9718d 48 And I follow "Course 1"
4887d152 49 And I navigate to "Grades" node in "Course administration"
2fd9718d 50
237f76ce 51 @javascript
8ec7b088
ZD
52 Scenario: I can update grades, add feedback and exclude grades.
53 Given I click on "Single view" "option"
f86233a4 54 And I click on "Student 4" "option"
8ec7b088 55 And I click on "Override for Test assignment one" "checkbox"
0a55da57 56 When I set the following fields to these values:
8ec7b088
ZD
57 | Grade for Test assignment one | 10.00 |
58 | Feedback for Test assignment one | test data |
2fd9718d 59 And I click on "Exclude for Test assignment four" "checkbox"
6cf0aa01 60 And I press "Save"
50e30bd4
ZD
61 Then I should see "Grades were set for 2 items"
62 And I press "Continue"
fdc934a1
AG
63 And the field "Exclude for Test assignment four" matches value "1"
64 And the field "Grade for Test assignment one" matches value "10.00"
831829dd
AG
65 And I set the following fields to these values:
66 | Test grade item | 45 |
6cf0aa01 67 And I press "Save"
831829dd
AG
68 Then I should see "Grades were set for 1 items"
69 And I press "Continue"
70 And the field "Grade for Test grade item" matches value "45.00"
71 And the field "Grade for Course total" matches value "55.00"
f86233a4
ZD
72 And I click on "Show grades for Test assignment three" "link"
73 And I click on "Override for james (Student) 1" "checkbox"
2fd9718d 74 And I set the following fields to these values:
f86233a4
ZD
75 | Grade for james (Student) 1 | 12.05 |
76 | Feedback for james (Student) 1 | test data2 |
77 And I click on "Exclude for holly (Student) 2" "checkbox"
6cf0aa01 78 And I press "Save"
50e30bd4
ZD
79 Then I should see "Grades were set for 2 items"
80 And I press "Continue"
fdc934a1
AG
81 And the field "Grade for james (Student) 1" matches value "12.05"
82 And the field "Exclude for holly (Student) 2" matches value "1"
7c5721f9
ZD
83 And I click on "Single view" "link"
84 And I click on "new grade item 1" "option"
85 And I click on "Very good" "option"
6cf0aa01 86 And I press "Save"
50e30bd4
ZD
87 Then I should see "Grades were set for 1 items"
88 And I press "Continue"
7c5721f9 89 And the following should exist in the "generaltable" table:
fdc934a1
AG
90 | First name (Alternate name) Surname | Grade |
91 | james (Student) 1 | Very good |
2fd9718d 92
5f3decb5 93 Scenario: Single view links work on grade report.
8ec7b088
ZD
94 Given I follow "Single view for Test assignment one"
95 Then I should see "Test assignment one"
96 Then I follow "Grader report"
2fd9718d 97 And I follow "Single view for Student 1"
8ec7b088 98 Then I should see "Student 1"
2fd9718d 99
dd01789b
JC
100 @javascript
101 Scenario: I can bulk update grades.
102 Given I follow "Single view for Student 1"
103 Then I should see "Student 1"
104 When I click on "All grades" "option"
105 And I set the field "Insert value" to "1.0"
106 And I click on "Perform bulk insert" "checkbox"
6cf0aa01 107 And I press "Save"
42b3a58c 108 Then I should see "Grades were set for 8 items"
dd01789b 109
8ec7b088 110 Scenario: Navigation works in the Single view.
237f76ce 111 Given I follow "Single view for Student 1"
8ec7b088 112 Then I should see "Student 1"
f86233a4 113 And I follow "Student 2"
8ec7b088 114 Then I should see "Student 2"
f86233a4 115 And I follow "Student 1"
8ec7b088
ZD
116 Then I should see "Student 1"
117 And I click on "Show grades for Test assignment four" "link"
118 Then I should see "Test assignment four"
119 And I follow "Test assignment three"
120 Then I should see "Test assignment three"
121 And I follow "Test assignment four"
122 Then I should see "Test assignment four"
237f76ce
ZD
123
124 Scenario: Activities are clickable only when
125 it has a valid activity page.
126 Given I follow "Single view for Student 1"
127 And "new grade item 1" "link" should not exist in the "//tbody//tr[position()=1]//td[position()=2]" "xpath_element"
128 Then "Category total" "link" should not exist in the "//tbody//tr[position()=2]//td[position()=2]" "xpath_element"
129 And "Course total" "link" should not exist in the "//tbody//tr[position()=last()]//td[position()=2]" "xpath_element"