MDL-47110 grades: more behat tests
authorMarina Glancy <marina@moodle.com>
Tue, 30 Sep 2014 08:46:53 +0000 (16:46 +0800)
committerAdrian Greeve <adrian@moodle.com>
Fri, 3 Oct 2014 05:55:24 +0000 (13:55 +0800)
grade/tests/behat/grade_natural_normalisation.feature

index 84a9095..b740e2b 100644 (file)
@@ -34,84 +34,203 @@ Feature: We can use natural aggregation and weights will be normalised to a tota
     And I follow "Course 1"
     And I follow "Grades"
     And I set the field "Grade report" to "Set up grades layout"
-    And I follow "Edit   Course 1"
-    And I set the field "Aggregation" to "Natural"
-    And I press "Save changes"
-    And I follow "Edit   Sub category 1"
-    And I set the field "Aggregation" to "Natural"
-    And I press "Save changes"
-
-    @javascript
-    Scenario: Setting all weights in a category to less than one hundred is normalised.
-
-      Given I set the field "Override weight of Test assignment five" to "1"
-      And I set the field "Override weight of Test assignment six" to "1"
-      And I set the field "Override weight of Test assignment seven" to "1"
-      And I set the field "Weight of Test assignment five" to "1"
-      And I set the field "Weight of Test assignment six" to "1"
-      And I set the field "Weight of Test assignment seven" to "2"
-      And I press "Save changes"
-
-      Then the field "Weight of Test assignment five" matches value "25.0"
-      And the field "Weight of Test assignment six" matches value "25.0"
-      And the field "Weight of Test assignment seven" matches value "50.0"
-
-    @javascript
-    Scenario: Set one of the grade item weights to a figure over one hundred.
-
-      Given I set the field "Override weight of Test assignment five" to "1"
-      And I set the field "Weight of Test assignment five" to "120"
-      And I press "Save changes"
-
-      Then the field "Weight of Test assignment five" matches value "68.355"
-      And the field "Weight of Test assignment six" matches value "12.658"
-      And the field "Weight of Test assignment seven" matches value "18.987"
-
-    @javascript
-    Scenario: Grade items weights are noramlised when all grade item weights are overridden. Extra credit is set to zero.
-
-      Given I follow "Edit  assign Test assignment seven"
-      And I set the field "Extra credit" to "1"
-      And I press "Save changes"
-      And I set the field "Override weight of Test assignment five" to "1"
-      And I set the field "Override weight of Test assignment six" to "1"
-      And I set the field "Weight of Test assignment five" to "60"
-      And I set the field "Weight of Test assignment six" to "50"
-      And I press "Save changes"
-
-      Then the field "Weight of Test assignment five" matches value "54.545"
-      And the field "Weight of Test assignment six" matches value "45.455"
-      And the field "Weight of Test assignment seven" matches value "0.0"
-
-    @javascript
-    Scenario: The extra credit grade item weight is overridden to a figure over one hundred and then
-    the grade item is set to normal.
-
-      # And I follow "Reset weights of Sub category 1"
-      Given I follow "Edit  assign Test assignment seven"
-      And I set the field "Extra credit" to "1"
-      And I press "Save changes"
-      And I set the field "Override weight of Test assignment seven" to "1"
-      And I set the field "Weight of Test assignment seven" to "105"
-      And I press "Save changes"
-      And I follow "Edit  assign Test assignment seven"
-      And I set the field "Extra credit" to "0"
-      And I press "Save changes"
-
-      Then the field "Weight of Test assignment five" matches value "32.52"
-      And the field "Weight of Test assignment six" matches value "16.26"
-      And the field "Weight of Test assignment seven" matches value "51.22"
-
-    @javascript
-    Scenario: Two out of three grade items weights are overridden and one is not.
-    The overridden grade item weights total over one hundred.
-
-      Given I set the field "Override weight of Test assignment six" to "1"
-      And I set the field "Override weight of Test assignment seven" to "1"
-      And I set the field "Weight of Test assignment six" to "55"
-      And I set the field "Weight of Test assignment seven" to "65"
-      And I press "Save changes"
-
-      Then the field "Weight of Test assignment five" matches value "0.0"
-      And the field "Weight of Test assignment six" matches value "45.833"
-      And the field "Weight of Test assignment seven" matches value "54.167"
+
+  @javascript
+  Scenario: Setting all weights in a category to exactly one hundred in total.
+
+    And the field "Weight of Test assignment five" matches value "44.444"
+    And the field "Weight of Test assignment six" matches value "22.222"
+    And the field "Weight of Test assignment seven" matches value "33.333"
+    When I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Override weight of Test assignment seven" to "1"
+    And I set the field "Weight of Test assignment five" to "30"
+    And I set the field "Weight of Test assignment six" to "50"
+    And I set the field "Weight of Test assignment seven" to "20"
+    And I press "Save changes"
+
+    Then I should not see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "30.0"
+    And the field "Weight of Test assignment six" matches value "50.0"
+    And the field "Weight of Test assignment seven" matches value "20.0"
+
+  @javascript
+  Scenario: Setting all weights in a category to less than one hundred is normalised.
+
+    When I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Override weight of Test assignment seven" to "1"
+    And I set the field "Weight of Test assignment five" to "1"
+    And I set the field "Weight of Test assignment six" to "1"
+    And I set the field "Weight of Test assignment seven" to "2"
+    And I press "Save changes"
+
+    Then I should see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "25.0"
+    And the field "Weight of Test assignment six" matches value "25.0"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: Set one of the grade item weights to a figure over one hundred.
+
+    When I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Weight of Test assignment five" to "120"
+    And I press "Save changes"
+
+    Then I should see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "100.0"
+    And the field "Weight of Test assignment six" matches value "0.0"
+    And the field "Weight of Test assignment seven" matches value "0.0"
+
+  @javascript
+  Scenario: Setting several but not all grade item weights to over one hundred each.
+
+    When I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Weight of Test assignment five" to "150"
+    And I set the field "Weight of Test assignment six" to "150"
+    And I press "Save changes"
+
+    Then I should see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "50.000"
+    And the field "Weight of Test assignment six" matches value "50.000"
+    And the field "Weight of Test assignment seven" matches value "0.0"
+
+  @javascript
+  Scenario: Grade items weights are normalised when all grade item weights are overridden (sum exactly 100). Extra credit is set to zero.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+    And I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Weight of Test assignment five" to "60"
+    And I set the field "Weight of Test assignment six" to "40"
+    And I press "Save changes"
+
+    Then I should not see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "60.000"
+    And the field "Weight of Test assignment six" matches value "40.000"
+    And the field "Weight of Test assignment seven" matches value "0.0"
+    And I follow "Reset weights of Sub category 1"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: Grade items weights are normalised when all grade item weights are overridden (sum over 100). Extra credit is set to zero.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Weight of Test assignment five" to "60"
+    And I set the field "Weight of Test assignment six" to "50"
+    And I press "Save changes"
+
+    Then I should see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "54.545"
+    And the field "Weight of Test assignment six" matches value "45.455"
+    And the field "Weight of Test assignment seven" matches value "0.0"
+    And I follow "Reset weights of Sub category 1"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: Grade items weights are normalised when all grade item weights are overridden (sum under 100). Extra credit is set to zero.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Weight of Test assignment five" to "40"
+    And I set the field "Weight of Test assignment six" to "30"
+    And I press "Save changes"
+
+    Then I should see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "57.143"
+    And the field "Weight of Test assignment six" matches value "42.857"
+    And the field "Weight of Test assignment seven" matches value "0.0"
+    And I follow "Reset weights of Sub category 1"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: Grade items weights are normalised when not all grade item weights are overridden. Extra credit is set respectful to non-overridden items.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And I set the field "Override weight of Test assignment five" to "1"
+    And I set the field "Weight of Test assignment five" to "40"
+    And I press "Save changes"
+
+    Then I should not see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "40.00"
+    And the field "Weight of Test assignment six" matches value "60.000"
+    And the field "Weight of Test assignment seven" matches value "90.0"
+    And I follow "Reset weights of Sub category 1"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: The extra credit grade item weight is overridden to a figure over one hundred and then
+  the grade item is set to normal.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And I set the field "Override weight of Test assignment seven" to "1"
+    And I set the field "Weight of Test assignment seven" to "105"
+    And I press "Save changes"
+    Then I should not see "Your weights have been adjusted to total 100."
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "105.0"
+    And I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "0"
+    And I press "Save changes"
+    And I should see "Your weights have been adjusted to total 100."
+
+    And the field "Weight of Test assignment five" matches value "32.52"
+    And the field "Weight of Test assignment six" matches value "16.26"
+    And the field "Weight of Test assignment seven" matches value "51.22"
+
+  @javascript
+  Scenario: The extra credit grade item weight is overridden to a figure over one hundred and then
+  the grade category is reset.
+
+    When I follow "Edit  assign Test assignment seven"
+    And I set the field "Extra credit" to "1"
+    And I press "Save changes"
+    And I set the field "Override weight of Test assignment seven" to "1"
+    And I set the field "Weight of Test assignment seven" to "105"
+    And I press "Save changes"
+
+    And I follow "Reset weights of Sub category 1"
+    And the field "Weight of Test assignment five" matches value "66.667"
+    And the field "Weight of Test assignment six" matches value "33.333"
+    And the field "Weight of Test assignment seven" matches value "50.0"
+
+  @javascript
+  Scenario: Two out of three grade items weights are overridden and one is not.
+  The overridden grade item weights total over one hundred.
+
+    Given I set the field "Override weight of Test assignment six" to "1"
+    And I set the field "Override weight of Test assignment seven" to "1"
+    And I set the field "Weight of Test assignment six" to "55"
+    And I set the field "Weight of Test assignment seven" to "65"
+    And I press "Save changes"
+    And I should see "Your weights have been adjusted to total 100."
+
+    Then the field "Weight of Test assignment five" matches value "0.0"
+    And the field "Weight of Test assignment six" matches value "45.833"
+    And the field "Weight of Test assignment seven" matches value "54.167"