Merge branch 'MDL-47746-master' of git://github.com/zbdd/moodle
[moodle.git] / grade / report / singleview / tests / behat / singleview.feature
1 @core @core_grades @gradereport_singleview
2 Feature: We can use Single view
3   As a teacher
4   In order to view and edit grades
5   For users and activities for a course.
7   Background:
8     Given the following "courses" exist:
9       | fullname | shortname | category |
10       | Course 1 | C1 | 0 |
11     And the following "users" exist:
12       | username | firstname | lastname | email | idnumber | alternatename |
13       | teacher1 | Teacher | 1 | teacher1@asd.com | t1 | fred |
14       | student1 | Student | 1 | student1@asd.com | s1 | james |
15       | student2 | Student | 2 | student1@asd.com | s2 | holly |
16       | student3 | Student | 3 | student1@asd.com | s3 | anna |
17       | student4 | Student | 4 | student1@asd.com | s4 | zac |
18     And the following "scales" exist:
19       | name | scale |
20       | Test Scale | Disappointing, Good, Very good, Excellent |
21     And the following "grade items" exist:
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 |
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 |
44     And the following "grade items" exist:
45       | itemname | course | gradetype |
46       | Test grade item | C1 | Scale |
47     And I log in as "teacher1"
48     And I follow "Course 1"
49     And I follow "Grades"
51   @javascript
52   Scenario: I can update grades, add feedback and exclude grades.
53     Given I click on "Single view" "option"
54     And I click on "Student 4" "option"
55     And I click on "Override for Test assignment one" "checkbox"
56     When I set the following fields to these values:
57         | Grade for Test assignment one | 10.00 |
58         | Feedback for Test assignment one | test data |
59     And I click on "Exclude for Test assignment four" "checkbox"
60     And I press "Update"
61     Then the following should exist in the "generaltable" table:
62         | Test assignment four |
63         | excluded |
64     And the following should exist in the "generaltable" table:
65         | Test assignment one |
66         | 10.00 |
67     And I click on "Show grades for Test assignment three" "link"
68     And I click on "Override for james (Student) 1" "checkbox"
69     And I set the following fields to these values:
70         | Grade for james (Student) 1 | 12.05 |
71         | Feedback for james (Student) 1 | test data2 |
72     And I click on "Exclude for holly (Student) 2" "checkbox"
73     And I press "Update"
74     And the following should exist in the "generaltable" table:
75         | Test assignment three |
76         | 12.05 |
77         | Excluded |
78     And I click on "Single view" "link"
79     And I click on "new grade item 1" "option"
80     And I click on "Very good" "option"
81     And I press "Update"
82     And the following should exist in the "generaltable" table:
83         | Grade for james (Student) 1 | "Very good" |
85   Scenario: Single view links work on grade report.
86     Given I follow "Single view for Test assignment one"
87     Then I should see "Test assignment one"
88     Then I follow "Grader report"
89     And I follow "Single view for Student 1"
90     Then I should see "Student 1"
92   Scenario: Navigation works in the Single view.
93     Given I follow "Single view for Student 1"
94     Then I should see "Student 1"
95     And I follow "Student 2"
96     Then I should see "Student 2"
97     And I follow "Student 1"
98     Then I should see "Student 1"
99     And I click on "Show grades for Test assignment four" "link"
100     Then I should see "Test assignment four"
101     And I follow "Test assignment three"
102     Then I should see "Test assignment three"
103     And I follow "Test assignment four"
104     Then I should see "Test assignment four"
106   Scenario: Activities are clickable only when
107     it has a valid activity page.
108     Given I follow "Single view for Student 1"
109     And "new grade item 1" "link" should not exist in the "//tbody//tr[position()=1]//td[position()=2]" "xpath_element"
110     Then "Category total" "link" should not exist in the "//tbody//tr[position()=2]//td[position()=2]" "xpath_element"
111     And "Course total" "link" should not exist in the "//tbody//tr[position()=last()]//td[position()=2]" "xpath_element"