Commit 615d9794 authored by Nelson Moller's avatar Nelson Moller
Browse files

MDL-49323 mod_assign: Fixed numeric validation in grade form.

The behat test for another decimal separator was incorporated.
parent 14d27910
......@@ -89,7 +89,7 @@ class mod_assign_grade_form extends moodleform {
}
if ($instance->grade > 0) {
if (unformat_float($data['grade']) === null && (!empty($data['grade']))) {
if (!unformat_float($data['grade'], true) && (!empty($data['grade']))) {
$errors['grade'] = get_string('invalidfloatforgrade', 'assign', $data['grade']);
} else if (unformat_float($data['grade']) > $instance->grade) {
$errors['grade'] = get_string('gradeabovemaximum', 'assign', $instance->grade);
......
@mod @mod_assign
Feature: Check that the assignment grade can not be input in a wrong format.
In order to ensure that the grade is entered in the right format
As a teacher
I need to grade a student and ensure that the grade should be correctly entered
@javascript
Scenario: Error in the decimal separator ,
Given the following "courses" exist:
| fullname | shortname | category | groupmode |
| Course 1 | C1 | 0 | 1 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student10@example.com |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And the following "groups" exist:
| name | course | idnumber |
| Group 1 | C1 | G1 |
And I log in as "teacher1"
And I follow "Course 1"
And I turn editing mode on
And I add a "Assignment" to section "1" and I fill the form with:
| Assignment name | Test assignment name |
| Description | Test assignment description |
| Use marking workflow | Yes |
When I follow "Test assignment name"
Then I follow "View/grade all submissions"
And I click on "Grade Student 1" "link" in the "Student 1" "table_row"
And I set the field "Grade out of 100" to "50,,6"
And I press "Save changes"
And I should see "The grade provided could not be understood: 50,,6"
@javascript
Scenario: Error in the decimal separator .
Given the following "courses" exist:
| fullname | shortname | category | groupmode |
| Course 1 | C1 | 0 | 1 |
And the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student10@example.com |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
And the following "groups" exist:
| name | course | idnumber |
| Group 1 | C1 | G1 |
And I log in as "teacher1"
And I follow "Course 1"
And I turn editing mode on
And I add a "Assignment" to section "1" and I fill the form with:
| Assignment name | Test assignment name |
| Description | Test assignment description |
| Use marking workflow | Yes |
When I follow "Test assignment name"
Then I follow "View/grade all submissions"
And I click on "Grade Student 1" "link" in the "Student 1" "table_row"
And I set the field "Grade out of 100" to "50..6"
And I press "Save changes"
And I should see "The grade provided could not be understood: 50..6"
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment