mirror of
https://github.com/moodle/moodle.git
synced 2025-04-23 17:34:56 +02:00
Merge branch 'MDL-55360-master-workshopgradepass' of git://github.com/mudrd8mz/moodle
This commit is contained in:
commit
6349765c44
mod/workshop
@ -82,11 +82,11 @@ function workshop_add_instance(stdclass $workshop) {
|
||||
$workshop->evaluation = 'best';
|
||||
|
||||
if (isset($workshop->gradinggradepass)) {
|
||||
$workshop->gradinggradepass = unformat_float($workshop->gradinggradepass);
|
||||
$workshop->gradinggradepass = (float)unformat_float($workshop->gradinggradepass);
|
||||
}
|
||||
|
||||
if (isset($workshop->submissiongradepass)) {
|
||||
$workshop->submissiongradepass = unformat_float($workshop->submissiongradepass);
|
||||
$workshop->submissiongradepass = (float)unformat_float($workshop->submissiongradepass);
|
||||
}
|
||||
|
||||
if (isset($workshop->submissionfiletypes)) {
|
||||
@ -158,11 +158,11 @@ function workshop_update_instance(stdclass $workshop) {
|
||||
$workshop->phaseswitchassessment = (int)!empty($workshop->phaseswitchassessment);
|
||||
|
||||
if (isset($workshop->gradinggradepass)) {
|
||||
$workshop->gradinggradepass = unformat_float($workshop->gradinggradepass);
|
||||
$workshop->gradinggradepass = (float)unformat_float($workshop->gradinggradepass);
|
||||
}
|
||||
|
||||
if (isset($workshop->submissiongradepass)) {
|
||||
$workshop->submissiongradepass = unformat_float($workshop->submissiongradepass);
|
||||
$workshop->submissiongradepass = (float)unformat_float($workshop->submissiongradepass);
|
||||
}
|
||||
|
||||
if (isset($workshop->submissionfiletypes)) {
|
||||
|
@ -396,9 +396,9 @@ class mod_workshop_mod_form extends moodleform_mod {
|
||||
}
|
||||
|
||||
// Check that the submission grade pass is a valid number.
|
||||
if (isset($data['submissiongradepass'])) {
|
||||
if (!empty($data['submissiongradepass'])) {
|
||||
$submissiongradefloat = unformat_float($data['submissiongradepass'], true);
|
||||
if ($submissiongradefloat === false || $submissiongradefloat === null) {
|
||||
if ($submissiongradefloat === false) {
|
||||
$errors['submissiongradepass'] = get_string('err_numeric', 'form');
|
||||
} else {
|
||||
if ($submissiongradefloat > $data['grade']) {
|
||||
@ -408,9 +408,9 @@ class mod_workshop_mod_form extends moodleform_mod {
|
||||
}
|
||||
|
||||
// Check that the grade pass is a valid number.
|
||||
if (isset($data['gradinggradepass'])) {
|
||||
if (!empty($data['gradinggradepass'])) {
|
||||
$gradepassfloat = unformat_float($data['gradinggradepass'], true);
|
||||
if ($gradepassfloat === false || $gradepassfloat === null) {
|
||||
if ($gradepassfloat === false) {
|
||||
$errors['gradinggradepass'] = get_string('err_numeric', 'form');
|
||||
} else {
|
||||
if ($gradepassfloat > $data['gradinggrade']) {
|
||||
|
91
mod/workshop/tests/behat/grade_to_pass.feature
Normal file
91
mod/workshop/tests/behat/grade_to_pass.feature
Normal file
@ -0,0 +1,91 @@
|
||||
@mod @mod_workshop
|
||||
Feature: Setting grades to pass via workshop editing form
|
||||
In order to define grades to pass
|
||||
As a teacher
|
||||
I can set them in the workshop settings form, without the need to go to the gradebook
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Terry1 | Teacher1 | teacher1@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname |
|
||||
| Course1 | c1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | c1 | editingteacher |
|
||||
|
||||
Scenario: Adding a new workshop with grade to pass field set
|
||||
Given I log in as "teacher1"
|
||||
And I follow "Course1"
|
||||
And I turn editing mode on
|
||||
When I add a "Workshop" to section "1" and I fill the form with:
|
||||
| Workshop name | Awesome workshop |
|
||||
| Description | Grades to pass are set here |
|
||||
| Submission grade to pass | 45 |
|
||||
| Assessment grade to pass | 10.5 |
|
||||
Then I should not see "Adding a new Workshop"
|
||||
And I follow "Awesome workshop"
|
||||
And I navigate to "Edit settings" node in "Workshop administration"
|
||||
And the field "Submission grade to pass" matches value "45.00"
|
||||
And the field "Assessment grade to pass" matches value "10.50"
|
||||
|
||||
Scenario: Adding a new workshop with grade to pass fields left empty
|
||||
Given I log in as "teacher1"
|
||||
And I follow "Course1"
|
||||
And I turn editing mode on
|
||||
When I add a "Workshop" to section "1" and I fill the form with:
|
||||
| Workshop name | Another awesome workshop |
|
||||
| Description | No grades to pass are set here |
|
||||
| Submission grade to pass | |
|
||||
| Assessment grade to pass | |
|
||||
Then I should not see "Adding a new Workshop"
|
||||
And I follow "Another awesome workshop"
|
||||
And I navigate to "Edit settings" node in "Workshop administration"
|
||||
And the field "Submission grade to pass" matches value "0.00"
|
||||
And the field "Assessment grade to pass" matches value "0.00"
|
||||
|
||||
Scenario: Adding a new workshop with non-numeric value of a grade to pass
|
||||
Given I log in as "teacher1"
|
||||
And I follow "Course1"
|
||||
And I turn editing mode on
|
||||
When I add a "Workshop" to section "1" and I fill the form with:
|
||||
| Workshop name | Almost awesome workshop |
|
||||
| Description | Invalid grade to pass is set here |
|
||||
| Assessment grade to pass | You shall not pass! |
|
||||
Then I should see "Adding a new Workshop"
|
||||
And I should see "You must enter a number here"
|
||||
|
||||
Scenario: Adding a new workshop with invalid value of a grade to pass
|
||||
Given I log in as "teacher1"
|
||||
And I follow "Course1"
|
||||
And I turn editing mode on
|
||||
When I add a "Workshop" to section "1" and I fill the form with:
|
||||
| Workshop name | Almost awesome workshop |
|
||||
| Description | Invalid grade to pass is set here |
|
||||
| Assessment grade to pass | 10000000 |
|
||||
Then I should see "Adding a new Workshop"
|
||||
And I should see "The grade to pass can not be greater than the maximum possible grade"
|
||||
|
||||
Scenario: Emptying grades to pass fields sets them to zero
|
||||
Given I log in as "teacher1"
|
||||
And I follow "Course1"
|
||||
And I turn editing mode on
|
||||
And I add a "Workshop" to section "1" and I fill the form with:
|
||||
| Workshop name | Super awesome workshop |
|
||||
| Description | Grade to pass are set and then unset here |
|
||||
| Submission grade to pass | 59.99 |
|
||||
| Assessment grade to pass | 0.000 |
|
||||
And I should not see "Adding a new Workshop"
|
||||
And I follow "Super awesome workshop"
|
||||
And I navigate to "Edit settings" node in "Workshop administration"
|
||||
And the field "Submission grade to pass" matches value "59.99"
|
||||
And the field "Assessment grade to pass" matches value "0.00"
|
||||
When I set the field "Submission grade to pass" to ""
|
||||
And I set the field "Assessment grade to pass" to ""
|
||||
And I press "Save and display"
|
||||
Then I should not see "Adding a new Workshop"
|
||||
And I follow "Super awesome workshop"
|
||||
And I navigate to "Edit settings" node in "Workshop administration"
|
||||
And the field "Submission grade to pass" matches value "0.00"
|
||||
And the field "Assessment grade to pass" matches value "0.00"
|
Loading…
x
Reference in New Issue
Block a user