2 Feature: We can use natural aggregation and weights will be normalised to a total of one hundred
3 In order to override weights
5 I need to add assessments to the gradebook.
8 Given the following "courses" exist:
9 | fullname | shortname | category | groupmode |
10 | Course 1 | C1 | 0 | 1 |
11 And the following "users" exist:
12 | username | firstname | lastname | email | idnumber |
13 | teacher1 | Teacher | 1 | teacher1@asd.com | t1 |
14 | student1 | Student | 1 | student1@asd.com | s1 |
15 And the following "course enrolments" exist:
16 | user | course | role |
17 | teacher1 | C1 | editingteacher |
18 | student1 | C1 | student |
19 And the following "grade categories" exist:
21 | Sub category 1 | C1 |
22 And the following "activities" exist:
23 | activity | course | idnumber | name | intro | grade |
24 | assign | C1 | a1 | Test assignment one | Submit something! | 300 |
25 | assign | C1 | a2 | Test assignment two | Submit something! | 100 |
26 | assign | C1 | a3 | Test assignment three | Submit something! | 150 |
27 | assign | C1 | a4 | Test assignment four | Submit nothing! | 150 |
28 And the following "activities" exist:
29 | activity | course | idnumber | name | intro | gradecategory | grade |
30 | assign | C1 | a5 | Test assignment five | Submit something! | Sub category 1 | 20 |
31 | assign | C1 | a6 | Test assignment six | Submit something! | Sub category 1 | 10 |
32 | assign | C1 | a7 | Test assignment seven | Submit nothing! | Sub category 1 | 15 |
33 And I log in as "teacher1"
34 And I follow "Course 1"
36 And I set the field "Grade report" to "Categories and items"
39 Scenario: Setting all weights in a category to exactly one hundred in total.
41 And the field "Weight of Test assignment five" matches value "44.444"
42 And the field "Weight of Test assignment six" matches value "22.222"
43 And the field "Weight of Test assignment seven" matches value "33.333"
44 When I set the field "Override weight of Test assignment five" to "1"
45 And I set the field "Override weight of Test assignment six" to "1"
46 And I set the field "Override weight of Test assignment seven" to "1"
47 And I set the field "Weight of Test assignment five" to "30"
48 And I set the field "Weight of Test assignment six" to "50"
49 And I set the field "Weight of Test assignment seven" to "20"
50 And I press "Save changes"
52 Then I should not see "Your weights have been adjusted to total 100."
53 And the field "Weight of Test assignment five" matches value "30.0"
54 And the field "Weight of Test assignment six" matches value "50.0"
55 And the field "Weight of Test assignment seven" matches value "20.0"
58 Scenario: Setting all weights in a category to less than one hundred is normalised.
60 When I set the field "Override weight of Test assignment five" to "1"
61 And I set the field "Override weight of Test assignment six" to "1"
62 And I set the field "Override weight of Test assignment seven" to "1"
63 And I set the field "Weight of Test assignment five" to "1"
64 And I set the field "Weight of Test assignment six" to "1"
65 And I set the field "Weight of Test assignment seven" to "2"
66 And I press "Save changes"
68 Then I should see "Your weights have been adjusted to total 100."
69 And the field "Weight of Test assignment five" matches value "25.0"
70 And the field "Weight of Test assignment six" matches value "25.0"
71 And the field "Weight of Test assignment seven" matches value "50.0"
74 Scenario: Set one of the grade item weights to a figure over one hundred.
76 When I set the field "Override weight of Test assignment five" to "1"
77 And I set the field "Weight of Test assignment five" to "120"
78 And I press "Save changes"
80 Then I should see "Your weights have been adjusted to total 100."
81 And the field "Weight of Test assignment five" matches value "100.0"
82 And the field "Weight of Test assignment six" matches value "0.0"
83 And the field "Weight of Test assignment seven" matches value "0.0"
86 Scenario: Setting several but not all grade item weights to over one hundred each.
88 When I set the field "Override weight of Test assignment five" to "1"
89 And I set the field "Override weight of Test assignment six" to "1"
90 And I set the field "Weight of Test assignment five" to "150"
91 And I set the field "Weight of Test assignment six" to "150"
92 And I press "Save changes"
94 Then I should see "Your weights have been adjusted to total 100."
95 And the field "Weight of Test assignment five" matches value "50.000"
96 And the field "Weight of Test assignment six" matches value "50.000"
97 And the field "Weight of Test assignment seven" matches value "0.0"
100 Scenario: Grade items weights are normalised when all grade item weights are overridden (sum exactly 100). Extra credit is set to zero.
102 When I follow "Edit assign Test assignment seven"
103 And I set the field "Extra credit" to "1"
104 And I press "Save changes"
105 And the field "Weight of Test assignment five" matches value "66.667"
106 And the field "Weight of Test assignment six" matches value "33.333"
107 And the field "Weight of Test assignment seven" matches value "50.0"
108 And I set the field "Override weight of Test assignment five" to "1"
109 And I set the field "Override weight of Test assignment six" to "1"
110 And I set the field "Weight of Test assignment five" to "60"
111 And I set the field "Weight of Test assignment six" to "40"
112 And I press "Save changes"
114 Then I should see "Your weights have been adjusted to total 100."
115 And the field "Weight of Test assignment five" matches value "60.000"
116 And the field "Weight of Test assignment six" matches value "40.000"
117 And the field "Weight of Test assignment seven" matches value "0.0"
118 And I follow "Reset weights of Sub category 1"
119 And the field "Weight of Test assignment five" matches value "66.667"
120 And the field "Weight of Test assignment six" matches value "33.333"
121 And the field "Weight of Test assignment seven" matches value "50.0"
124 Scenario: Grade items weights are normalised when all grade item weights are overridden (sum over 100). Extra credit is set to zero.
126 When I follow "Edit assign Test assignment seven"
127 And I set the field "Extra credit" to "1"
128 And I press "Save changes"
129 And I set the field "Override weight of Test assignment five" to "1"
130 And I set the field "Override weight of Test assignment six" to "1"
131 And I set the field "Weight of Test assignment five" to "60"
132 And I set the field "Weight of Test assignment six" to "50"
133 And I press "Save changes"
135 Then I should see "Your weights have been adjusted to total 100."
136 And the field "Weight of Test assignment five" matches value "54.545"
137 And the field "Weight of Test assignment six" matches value "45.455"
138 And the field "Weight of Test assignment seven" matches value "0.0"
139 And I follow "Reset weights of Sub category 1"
140 And the field "Weight of Test assignment five" matches value "66.667"
141 And the field "Weight of Test assignment six" matches value "33.333"
142 And the field "Weight of Test assignment seven" matches value "50.0"
145 Scenario: Grade items weights are normalised when all grade item weights are overridden (sum under 100). Extra credit is set to zero.
147 When I follow "Edit assign Test assignment seven"
148 And I set the field "Extra credit" to "1"
149 And I press "Save changes"
150 And I set the field "Override weight of Test assignment five" to "1"
151 And I set the field "Override weight of Test assignment six" to "1"
152 And I set the field "Weight of Test assignment five" to "40"
153 And I set the field "Weight of Test assignment six" to "30"
154 And I press "Save changes"
156 Then I should see "Your weights have been adjusted to total 100."
157 And the field "Weight of Test assignment five" matches value "57.143"
158 And the field "Weight of Test assignment six" matches value "42.857"
159 And the field "Weight of Test assignment seven" matches value "0.0"
160 And I follow "Reset weights of Sub category 1"
161 And the field "Weight of Test assignment five" matches value "66.667"
162 And the field "Weight of Test assignment six" matches value "33.333"
163 And the field "Weight of Test assignment seven" matches value "50.0"
166 Scenario: Grade items weights are normalised when not all grade item weights are overridden. Extra credit is set respectful to non-overridden items.
168 When I follow "Edit assign Test assignment seven"
169 And I set the field "Extra credit" to "1"
170 And I press "Save changes"
171 And I set the field "Override weight of Test assignment five" to "1"
172 And I set the field "Weight of Test assignment five" to "40"
173 And I press "Save changes"
175 Then I should see "Your weights have been adjusted to total 100."
176 And the field "Weight of Test assignment five" matches value "40.00"
177 And the field "Weight of Test assignment six" matches value "60.000"
178 And the field "Weight of Test assignment seven" matches value "90.0"
179 And I follow "Reset weights of Sub category 1"
180 And the field "Weight of Test assignment five" matches value "66.667"
181 And the field "Weight of Test assignment six" matches value "33.333"
182 And the field "Weight of Test assignment seven" matches value "50.0"
185 Scenario: The extra credit grade item weight is overridden to a figure over one hundred and then
186 the grade item is set to normal.
188 When I follow "Edit assign Test assignment seven"
189 And I set the field "Extra credit" to "1"
190 And I press "Save changes"
191 And I set the field "Override weight of Test assignment seven" to "1"
192 And I set the field "Weight of Test assignment seven" to "105"
193 And I press "Save changes"
194 Then I should not see "Your weights have been adjusted to total 100."
195 And the field "Weight of Test assignment five" matches value "66.667"
196 And the field "Weight of Test assignment six" matches value "33.333"
197 And the field "Weight of Test assignment seven" matches value "105.0"
198 And I follow "Edit assign Test assignment seven"
199 And I set the field "Extra credit" to "0"
200 And I press "Save changes"
201 And I should see "Your weights have been adjusted to total 100."
203 And the field "Weight of Test assignment five" matches value "0.0"
204 And the field "Weight of Test assignment six" matches value "0.0"
205 And the field "Weight of Test assignment seven" matches value "100.0"
208 Scenario: The extra credit grade item weight is overridden to a figure over one hundred and then
209 the grade category is reset.
211 When I follow "Edit assign Test assignment seven"
212 And I set the field "Extra credit" to "1"
213 And I press "Save changes"
214 And I set the field "Override weight of Test assignment seven" to "1"
215 And I set the field "Weight of Test assignment seven" to "105"
216 And I press "Save changes"
218 And I follow "Reset weights of Sub category 1"
219 And the field "Weight of Test assignment five" matches value "66.667"
220 And the field "Weight of Test assignment six" matches value "33.333"
221 And the field "Weight of Test assignment seven" matches value "50.0"
224 Scenario: Two out of three grade items weights are overridden and one is not.
225 The overridden grade item weights total over one hundred.
227 Given I set the field "Override weight of Test assignment six" to "1"
228 And I set the field "Override weight of Test assignment seven" to "1"
229 And I set the field "Weight of Test assignment six" to "55"
230 And I set the field "Weight of Test assignment seven" to "65"
231 And I press "Save changes"
232 And I should see "Your weights have been adjusted to total 100."
234 Then the field "Weight of Test assignment five" matches value "0.0"
235 And the field "Weight of Test assignment six" matches value "45.833"
236 And the field "Weight of Test assignment seven" matches value "54.167"
239 Scenario: With one grade item set as extra credit, when I reset the weights for a category they return to the natural weights.
241 When I follow "Edit assign Test assignment five"
242 And I set the field "Extra credit" to "1"
243 And I press "Save changes"
244 And I set the field "Override weight of Test assignment six" to "1"
245 And I set the field "Override weight of Test assignment seven" to "1"
246 And I set the field "Weight of Test assignment six" to "55"
247 And I set the field "Weight of Test assignment seven" to "40"
248 And I press "Save changes"
249 And I follow "Reset weights of Sub category 1"
250 Then the field "Weight of Test assignment five" matches value "80.0"
251 And the field "Weight of Test assignment six" matches value "40.0"
252 And the field "Weight of Test assignment seven" matches value "60.0"
255 Scenario: Overriding a grade item with a negative value results in the value being changed to zero.
257 When I set the field "Override weight of Test assignment five" to "1"
258 And I set the field "Weight of Test assignment five" to "-15"
259 And I press "Save changes"
260 Then the field "Weight of Test assignment five" matches value "0.0"
261 And the field "Weight of Test assignment six" matches value "40.0"
262 And the field "Weight of Test assignment seven" matches value "60.0"
263 And I set the field "Override weight of Test assignment six" to "1"
264 And I set the field "Weight of Test assignment six" to "-25"
265 And I press "Save changes"
266 And the field "Weight of Test assignment six" matches value "0.0"
267 And the field "Weight of Test assignment seven" matches value "100.0"
268 And I follow "Reset weights of Sub category 1"
269 And I set the field "Override weight of Test assignment five" to "1"
270 And I set the field "Override weight of Test assignment six" to "1"
271 And I set the field "Weight of Test assignment five" to "-10"
272 And I set the field "Weight of Test assignment six" to "120"
273 And I press "Save changes"
274 And the field "Weight of Test assignment five" matches value "0.0"
275 And the field "Weight of Test assignment six" matches value "100.0"
276 And the field "Weight of Test assignment seven" matches value "0.0"