MDL-52078 gradebook: Behat tests for hidden grade items.
authorCameron Ball <cameron@moodle.com>
Tue, 5 Jan 2016 05:48:54 +0000 (13:48 +0800)
committerCameron Ball <cameron@moodle.com>
Tue, 5 Jan 2016 05:48:54 +0000 (13:48 +0800)
grade/tests/behat/grade_hidden_items.feature [new file with mode: 0644]

diff --git a/grade/tests/behat/grade_hidden_items.feature b/grade/tests/behat/grade_hidden_items.feature
new file mode 100644 (file)
index 0000000..724fb0a
--- /dev/null
@@ -0,0 +1,67 @@
+@core @core_grades
+Feature: Student and teacher's view of aggregated grade items is consistent when hidden grade items are present
+  In order to calculate grade totals
+  As an teacher
+  I need to add aggregate columns to the gradebook
+
+  Scenario: Natural aggregation of course categories with hidden items calculates correctly for teacher and student
+    Given the following "courses" exist:
+      | fullname | shortname | category | groupmode |
+      | Course 1 | C1 | 0 | 1 |
+    And the following "users" exist:
+      | username | firstname | lastname | email | idnumber |
+      | teacher1 | Teacher | 1 | teacher1@example.com | t1 |
+      | student1 | Student | 1 | student1@example.com | s1 |
+    And the following "course enrolments" exist:
+      | user | course | role |
+      | teacher1 | C1 | editingteacher |
+      | student1 | 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 | gradecategory| grade |
+      | assign | C1 | a1 | Test assignment one | Submit something! | Sub category 1 | 100 |
+      | assign | C1 | a2 | Test assignment two | Submit something! | Sub category 1 | 100 |
+      | assign | C1 | a3 | Test assignment three | Submit something! | Sub category 2 | 100 |
+      | assign | C1 | a4 | Test assignment four | Submit something! | Sub category 2 | 100 |
+    And I log in as "admin"
+    And I navigate to "Overview report" node in "Site administration > Grades > Report settings"
+    And I set the field "s__grade_report_overview_showtotalsifcontainhidden" to "Show totals excluding hidden items"
+    And I navigate to "User report" node in "Site administration > Grades > Report settings"
+    And I set the field "s__grade_report_user_showtotalsifcontainhidden" to "Show totals excluding hidden items"
+    And I press "Save changes"
+    When I log out
+    And I log in as "teacher1"
+    And I follow "Course 1"
+    And I navigate to "Grades" node in "Course administration"
+    And I turn editing mode on
+    And I give the grade "50.00" to the user "Student 1" for the grade item "Test assignment one"
+    And I give the grade "50.00" to the user "Student 1" for the grade item "Test assignment three"
+    And I press "Save changes"
+    And I set the following settings for grade item "Test assignment four":
+      | Hidden | 1 |
+    And I press "Save changes"
+    And I follow "Course 1"
+    And I navigate to "Grades" node in "Course administration"
+    And I select "User report" from the "Grade report" singleselect
+    And I select "Student 1" from the "Select all or one user" singleselect
+    Then the following should exist in the "user-grade" table:
+      | Grade item | Calculated weight | Grade | Range | Percentage | Contribution to course total |
+      | Test assignment one | 100.00 % | 50.00 | 0–100 | 50.00 % | 25.00 % |
+      | Test assignment two | 0.00 %( Empty ) | - | 0–100 | - | 0.00 % |
+      | Test assignment three | 100.00 % | 50.00 | 0–100 | 50.00 % | 25.00 % |
+      | Course total | - | 100.00 | 0–200 | 50.00 % | - |
+    When I log out
+    And I log in as "student1"
+    And I follow "Course 1"
+    And I navigate to "Grades" node in "Course administration"
+    And I navigate to "User report" node in "Grade administration"
+    Then the following should exist in the "user-grade" table:
+      | Grade item | Calculated weight | Grade | Range | Percentage | Contribution to course total |
+      | Test assignment one | 100.00 % | 50.00 | 0–100 | 50.00 % |  25.00 % |
+      | Test assignment two | -( Empty ) | - | 0–100 | - | - |
+      | Test assignment three | 100.00 % | 50.00 | 0–100 | 50.00 % | 25.00 % |
+      | Course total | - | 100.00 | 0–200 | 50.00 % | - |
+    And I should not see "Test assignment four"