Skip to content

Commit

Permalink
Merge branch '48189-29' of git://github.com/samhemelryk/moodle
Browse files Browse the repository at this point in the history
  • Loading branch information
stronk7 committed Nov 25, 2014
2 parents 22fc0d1 + cb2cf2f commit abe9be7
Show file tree
Hide file tree
Showing 2 changed files with 208 additions and 0 deletions.
1 change: 1 addition & 0 deletions grade/edit/letter/index.php
Expand Up @@ -104,6 +104,7 @@
echo $editlink;

$table = new html_table();
$table->id = 'grade-letters-view';
$table->head = array(get_string('max', 'grades'), get_string('min', 'grades'), get_string('letter', 'grades'));
$table->size = array('30%', '30%', '40%');
$table->align = array('left', 'left', 'left');
Expand Down
207 changes: 207 additions & 0 deletions grade/tests/behat/grade_override_letter.feature
@@ -0,0 +1,207 @@
@core @core_grades
Feature: Grade letters can be overridden
In order to test the grade letters functionality
As a teacher I override site defaults
and alter the grade letters

Background:
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
And the following "users" exist:
| username | firstname | lastname | email | idnumber |
| teacher1 | Teacher | 1 | teacher1@asd.com | t1 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
And I log in as "teacher1"
And I follow "Course 1"
And I follow "Grades"
And I follow "Letters"
And I follow "Edit grade letters"

Scenario Outline: Grade letters can be completely overridden
When I set the following fields to these values:
| override | 1 |
| Grade letter 1 | <l1> |
| gradeboundary1 | <b1> |
| Grade letter 2 | <l2> |
| gradeboundary2 | <b2> |
| Grade letter 3 | <l3> |
| gradeboundary3 | <b3> |
| Grade letter 4 | <l4> |
| gradeboundary4 | <b4> |
| Grade letter 5 | <l5> |
| gradeboundary5 | <b5> |
| Grade letter 6 | <l6> |
| gradeboundary6 | <b6> |
| Grade letter 7 | <l7> |
| gradeboundary7 | <b7> |
| Grade letter 8 | <l8> |
| gradeboundary8 | <b8> |
| Grade letter 9 | <l9> |
| gradeboundary9 | <b9> |
| Grade letter 10 | |
| gradeboundary10 | |
| Grade letter 11 | |
| gradeboundary11 | |
| Grade letter 12 | |
| gradeboundary12 | |
| Grade letter 13 | |
| gradeboundary13 | |
| Grade letter 14 | |
| gradeboundary14 | |
And I press "Save changes"
Then I should see "The default grade letters are currently overridden."
And the following should exist in the "grade-letters-view" table:
| Highest | Lowest | Letter |
| <high1> | <low1> | <letter1> |
| <high2> | <low2> | <letter2> |
| <high3> | <low3> | <letter3> |
| <high4> | <low4> | <letter4> |
| <high5> | <low5> | <letter5> |
| <high6> | <low6> | <letter6> |

Examples:
| l1 | b1 | l2 | b2 | l3 | b3 | l4 | b4 | l5 | b5 | l6 | b6 | l7 | b7 | l8 | b8 | l9 | b9 | high1 | low1 | letter1 | high2 | low2 | letter2 | high3 | low3 | letter3 | high4 | low4 | letter4 | high5 | low5 | letter5 | high6 | low6 | letter6 |
| Z | 95 | Y | 85 | X | 75 | W | 65 | V | 55 | U | 45 | | | | | | | 100.00 % | 95.00 % | Z | 94.99 % | 85.00 % | Y | 84.99 % | 75.00 % | X | 74.99 % | 65.00 % | W | 64.99 % | 55.00 % | V | 54.99 % | 45.00 % | U |
| 5 | 100 | 4 | 80 | 3 | 60 | 2 | 40 | 1 | 20 | 0 | 0 | | | | | | | 100.00 % | 100.00 % | 5 | 99.99 % | 80.00 % | 4 | 79.99 % | 60.00 % | 3 | 59.99 % | 40.00 % | 2 | 39.99 % | 20.00 % | 1 | 19.99 % | 0.00 % | 0 |
| A | 95.25 | B | 76.75 | C | 50.01 | D | 40 | F | 0.01 | F- | 0 | | | | | | | 100.00 % | 95.25 % | A | 95.24 % | 76.75 % | B | 76.74 % | 50.01 % | C | 50.00 % | 40.00 % | D | 39.99 % | 0.01 % | F | 0.00 % | 0.00 % | F- |
| | | | | | | A | 95.25 | B | 76.75 | C | 50.01 | D | 40 | F | 0.01 | F- | 0 | 100.00 % | 95.25 % | A | 95.24 % | 76.75 % | B | 76.74 % | 50.01 % | C | 50.00 % | 40.00 % | D | 39.99 % | 0.01 % | F | 0.00 % | 0.00 % | F- |
| | | A | 95.25 | B | 76.75 | C | 50.01 | | | | | D | 40 | F | 0.01 | F- | 0 | 100.00 % | 95.25 % | A | 95.24 % | 76.75 % | B | 76.74 % | 50.01 % | C | 50.00 % | 40.00 % | D | 39.99 % | 0.01 % | F | 0.00 % | 0.00 % | F- |

Scenario: I delete a grade letter
Given I set the following fields to these values:
| override | 1 |
| Grade letter 1 | A |
| gradeboundary1 | 90 |
| Grade letter 2 | B |
| gradeboundary2 | 80 |
| Grade letter 3 | C |
| gradeboundary3 | 50 |
| Grade letter 4 | D |
| gradeboundary4 | 40 |
| Grade letter 5 | E |
| gradeboundary5 | 20 |
| Grade letter 6 | F |
| gradeboundary6 | 0 |
| Grade letter 7 | |
| gradeboundary7 | |
| Grade letter 8 | |
| gradeboundary8 | |
| Grade letter 9 | |
| gradeboundary9 | |
| Grade letter 10 | |
| gradeboundary10 | |
| Grade letter 11 | |
| gradeboundary11 | |
| Grade letter 12 | |
| gradeboundary12 | |
| Grade letter 13 | |
| gradeboundary13 | |
| Grade letter 14 | |
| gradeboundary14 | |
And I press "Save changes"
And I should see "The default grade letters are currently overridden."
And the following should exist in the "grade-letters-view" table:
| Highest | Lowest | Letter |
| 100.00 % | 90.00 % | A |
| 89.99 % | 80.00 % | B |
| 79.99 % | 50.00 % | C |
| 49.99 % | 40.00 % | D |
| 39.99 % | 20.00 % | E |
| 19.99 % | 0.00 % | F |
When I follow "Edit grade letters"
And I set the following fields to these values:
| override | 1 |
| Grade letter 1 | A |
| gradeboundary1 | 90 |
| Grade letter 2 | B |
| gradeboundary2 | 80 |
| Grade letter 3 | C |
| gradeboundary3 | 50 |
| Grade letter 4 | D |
| gradeboundary4 | 40 |
| Grade letter 5 | |
| gradeboundary5 | |
| Grade letter 6 | F |
| gradeboundary6 | 0 |
And I press "Save changes"
Then I should see "The default grade letters are currently overridden."
And the following should exist in the "grade-letters-view" table:
| Highest | Lowest | Letter |
| 100.00 % | 90.00 % | A |
| 89.99 % | 80.00 % | B |
| 79.99 % | 50.00 % | C |
| 49.99 % | 40.00 % | D |
| 39.99 % | 0.00 % | F |

Scenario: I override grade letters for a second time
Given I set the following fields to these values:
| override | 1 |
| Grade letter 1 | A+ |
| gradeboundary1 | 90 |
| Grade letter 2 | A |
| gradeboundary2 | 80 |
| Grade letter 3 | B+ |
| gradeboundary3 | 70 |
| Grade letter 4 | B |
| gradeboundary4 | 60 |
| Grade letter 5 | C |
| gradeboundary5 | 50 |
| Grade letter 6 | D |
| gradeboundary6 | 40 |
| Grade letter 7 | F |
| gradeboundary7 | 0 |
| Grade letter 8 | |
| gradeboundary8 | |
| Grade letter 9 | |
| gradeboundary9 | |
| Grade letter 10 | |
| gradeboundary10 | |
| Grade letter 11 | |
| gradeboundary11 | |
| Grade letter 12 | |
| gradeboundary12 | |
| Grade letter 13 | |
| gradeboundary13 | |
| Grade letter 14 | |
| gradeboundary14 | |
And I press "Save changes"
And I should see "The default grade letters are currently overridden."
And the following should exist in the "grade-letters-view" table:
| Highest | Lowest | Letter |
| 100.00 % | 90.00 % | A+ |
| 89.99 % | 80.00 % | A |
| 79.99 % | 70.00 % | B+ |
| 69.99 % | 60.00 % | B |
| 59.99 % | 50.00 % | C |
| 49.99 % | 40.00 % | D |
| 39.99 % | 0.00 % | F |
When I follow "Edit grade letters"
And I set the following fields to these values:
| override | 1 |
| Grade letter 1 | α |
| gradeboundary1 | 95 |
| Grade letter 2 | β |
| gradeboundary2 | 85 |
| Grade letter 3 | γ |
| gradeboundary3 | 70 |
| Grade letter 4 | δ |
| gradeboundary4 | 55 |
| Grade letter 5 | |
| gradeboundary5 | |
| Grade letter 6 | Ω |
| gradeboundary6 | 0 |
| Grade letter 7 | π |
| gradeboundary7 | 90 |
And I press "Save changes"
Then I should see "The default grade letters are currently overridden."
And the following should exist in the "grade-letters-view" table:
| Highest | Lowest | Letter |
| 100.00 % | 95.00 % | α |
| 94.99 % | 90.00 % | π |
| 89.99 % | 85.00 % | β |
| 84.99 % | 70.00 % | γ |
| 69.99 % | 55.00 % | δ |
| 54.99 % | 0.00 % | Ω |

0 comments on commit abe9be7

Please sign in to comment.