Moodle
  1. Moodle
  2. MDL-13831

Grade to pass can't be set from update activity screen

    Details

    • Testing Instructions:
      Hide
      1. Use the test course generator to create a 'Small' course (or use an existing course with activities and resources)
      2. Edit an activity (assignment) and set a grade to pass
      3. Edit the activity in the gradebook and ensure the grade to pass field is set correctly
      4. Re-edit the activity and add a grade to pass that is greater than the current grade. Ensure a validation message is displayed
      5. Re-edit the activity and set the Grade type to 'None'. Ensure the grade to pass field is disabled
      6. Add a workshop activity. Ensure you can set a Grade to pass for both the submission and assessment phase
      7. Edit a resource or activity without grades. Save the form and ensure no errors are displayed
      Show
      Use the test course generator to create a 'Small' course (or use an existing course with activities and resources) Edit an activity (assignment) and set a grade to pass Edit the activity in the gradebook and ensure the grade to pass field is set correctly Re-edit the activity and add a grade to pass that is greater than the current grade. Ensure a validation message is displayed Re-edit the activity and set the Grade type to 'None'. Ensure the grade to pass field is disabled Add a workshop activity. Ensure you can set a Grade to pass for both the submission and assessment phase Edit a resource or activity without grades. Save the form and ensure no errors are displayed
    • Affected Branches:
      MOODLE_19_STABLE, MOODLE_24_STABLE, MOODLE_28_STABLE
    • Fixed Branches:
      MOODLE_29_STABLE
    • Pull Master Branch:
      wip-MDL-13831-master

      Description

      The current way of setting it is a bit obscure and I think it should really be available on all the 'update this activity' pages.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            Ray Morris added a comment -

            It really would be nice to be able to set "passing" grade within the Grade section when you create or edit an activity. I may be willing to code this if there is agreement that it's a desired improvement and it would, properly coded, be accepted into mainline.

            Show
            Ray Morris added a comment - It really would be nice to be able to set "passing" grade within the Grade section when you create or edit an activity. I may be willing to code this if there is agreement that it's a desired improvement and it would, properly coded, be accepted into mainline.
            Hide
            Davo Smith added a comment -

            Not free to tidy this up properly, but this patch was working last time I tried it:

            ------------------------------ course/modedit.php ------------------------------
            index 56bf28a..5b38259 100644
            @@ -215,10 +215,16 @@ if (!empty($add))

            { // do not set if mixed categories present $data->gradecat = $gradecat; }

            }

            + $item = grade_item::fetch(array('itemtype'=>'mod', 'itemmodule'=>$data->modulename,
            + 'iteminstance'=>$data->instance, 'courseid'=>$course->id));
            + if (!empty($item->gradepass))

            { + $data->gradepass = $item->gradepass; + }

            +
            $sectionname = get_section_name($course, $cw);
            $fullmodulename = get_string('modulename', $module->name);

            if ($data->section && $course->format != 'site') {
            $heading = new stdClass();
            @@ 517,10 +523,14 @@ if ($mform>is_cancelled()) {
            'iteminstance'=>$fromform->instance, 'itemnumber'=>0, 'courseid'=>$course->id))) {
            if ($grade_item->idnumber != $fromform->cmidnumber)

            { $grade_item->idnumber = $fromform->cmidnumber; $grade_item->update(); }

            + if ($grade_item->gradepass != $fromform->gradepass)

            { + $grade_item->gradepass = $fromform->gradepass; + $grade_item->update(); + }

            }

            $items = grade_item::fetch_all(array('itemtype'=>'mod', 'itemmodule'=>$fromform->modulename,
            'iteminstance'=>$fromform->instance, 'courseid'=>$course->id));

            -------------------------- course/moodleform_mod.php --------------------------
            index b4feb9d..afc7862 100644
            @@ -756,10 +756,15 @@ abstract class moodleform_mod extends moodleform {

            //if supports grades and grades arent being handled via ratings
            if (!$this->_features->rating)

            { $mform->addElement('modgrade', 'grade', get_string('grade')); $mform->setDefault('grade', 100); + + $mform->addElement('text', 'gradepass', get_string('gradepass', 'grades')); + $mform->setDefault('gradepass', ''); + $mform->setType('gradepass', PARAM_FLOAT); + $mform->setAdvanced('gradepass', true); }

            if ($this->_features->advancedgrading
            and !empty($this->current->_advancedgradingdata['methods'])
            and !empty($this->current->_advancedgradingdata['areas'])) {

            Show
            Davo Smith added a comment - Not free to tidy this up properly, but this patch was working last time I tried it: ------------------------------ course/modedit.php ------------------------------ index 56bf28a..5b38259 100644 @@ -215,10 +215,16 @@ if (!empty($add)) { // do not set if mixed categories present $data->gradecat = $gradecat; } } + $item = grade_item::fetch(array('itemtype'=>'mod', 'itemmodule'=>$data->modulename, + 'iteminstance'=>$data->instance, 'courseid'=>$course->id)); + if (!empty($item->gradepass)) { + $data->gradepass = $item->gradepass; + } + $sectionname = get_section_name($course, $cw); $fullmodulename = get_string('modulename', $module->name); if ($data->section && $course->format != 'site') { $heading = new stdClass(); @@ 517,10 +523,14 @@ if ($mform >is_cancelled()) { 'iteminstance'=>$fromform->instance, 'itemnumber'=>0, 'courseid'=>$course->id))) { if ($grade_item->idnumber != $fromform->cmidnumber) { $grade_item->idnumber = $fromform->cmidnumber; $grade_item->update(); } + if ($grade_item->gradepass != $fromform->gradepass) { + $grade_item->gradepass = $fromform->gradepass; + $grade_item->update(); + } } $items = grade_item::fetch_all(array('itemtype'=>'mod', 'itemmodule'=>$fromform->modulename, 'iteminstance'=>$fromform->instance, 'courseid'=>$course->id)); -------------------------- course/moodleform_mod.php -------------------------- index b4feb9d..afc7862 100644 @@ -756,10 +756,15 @@ abstract class moodleform_mod extends moodleform { //if supports grades and grades arent being handled via ratings if (!$this->_features->rating) { $mform->addElement('modgrade', 'grade', get_string('grade')); $mform->setDefault('grade', 100); + + $mform->addElement('text', 'gradepass', get_string('gradepass', 'grades')); + $mform->setDefault('gradepass', ''); + $mform->setType('gradepass', PARAM_FLOAT); + $mform->setAdvanced('gradepass', true); } if ($this->_features->advancedgrading and !empty($this->current->_advancedgradingdata ['methods'] ) and !empty($this->current->_advancedgradingdata ['areas'] )) {
            Hide
            Davo Smith added a comment -

            Actually, that didn't copy + paste very well, so I've attached it as a text file instead.

            Note it probably can't be applied automatically, but it's simple enough to be possible to copy + paste manually.

            Show
            Davo Smith added a comment - Actually, that didn't copy + paste very well, so I've attached it as a text file instead. Note it probably can't be applied automatically, but it's simple enough to be possible to copy + paste manually.
            Hide
            Paula Clough added a comment -

            Having the setting within the assignment would make this feature much more easily used by Instructors. It would also make it easier to check what has happened when we get the call that says... the student only got 70% and it's marking them as passed.
            Thanks,
            Paula

            Show
            Paula Clough added a comment - Having the setting within the assignment would make this feature much more easily used by Instructors. It would also make it easier to check what has happened when we get the call that says... the student only got 70% and it's marking them as passed. Thanks, Paula
            Hide
            Davo Smith added a comment -

            Patch submitted for peer review.

            I can see a lot of benefit in having this option on the settings page, but at the same time I'm more than happy for this implementation to be struck down as not being suitable (for example, I don't think it works well with grading scales, but then it is no different from the same setting when accessed directly through the gradebook).

            Show
            Davo Smith added a comment - Patch submitted for peer review. I can see a lot of benefit in having this option on the settings page, but at the same time I'm more than happy for this implementation to be struck down as not being suitable (for example, I don't think it works well with grading scales, but then it is no different from the same setting when accessed directly through the gradebook).
            Hide
            Tim Hunt added a comment -

            Thanks for doing this Davo.

            If this is the same UI as in the gradebook, then it is good enough for now, even if both should be improved later.

            Note that PARAM_FLOAT is problematic. It accepts a PHP-formatted float, like 0.1. Europeans and many others would more naturally write 0,1. However, this is a global problem, and I think from previous discussion with Petr, it is only fixable be creating a new float formslib field type.

            My remaining worry is, what about a module like Workshop, where one activity has two associated grade items? I can't work out what this code will do.

            Actually, it would be good if you wrote some testing instructions. That would make it quick and easy for lazy people like me to see how it is supposed to behave.

            Show
            Tim Hunt added a comment - Thanks for doing this Davo. If this is the same UI as in the gradebook, then it is good enough for now, even if both should be improved later. Note that PARAM_FLOAT is problematic. It accepts a PHP-formatted float, like 0.1. Europeans and many others would more naturally write 0,1. However, this is a global problem, and I think from previous discussion with Petr, it is only fixable be creating a new float formslib field type. My remaining worry is, what about a module like Workshop, where one activity has two associated grade items? I can't work out what this code will do. Actually, it would be good if you wrote some testing instructions. That would make it quick and easy for lazy people like me to see how it is supposed to behave.
            Hide
            Davo Smith added a comment -

            Tim - given the number of free evenings I have before flying to Dublin (0), maybe it's something to look at during Thursday's hackfest?

            Show
            Davo Smith added a comment - Tim - given the number of free evenings I have before flying to Dublin (0), maybe it's something to look at during Thursday's hackfest?
            Hide
            Tim Hunt added a comment -

            Sure.

            Show
            Tim Hunt added a comment - Sure.
            Hide
            Ray Morris added a comment - - edited

            > My remaining worry is, what about a module like Workshop, where one activity has two
            > associated grade items? I can't work out what this code will do.

            I believe the module can set which grade should be used. By default the first grade is used. (Grade #0).
            See course_modules.completiongradeitemnumber

            Show
            Ray Morris added a comment - - edited > My remaining worry is, what about a module like Workshop, where one activity has two > associated grade items? I can't work out what this code will do. I believe the module can set which grade should be used. By default the first grade is used. (Grade #0). See course_modules.completiongradeitemnumber
            Hide
            Ray Morris added a comment - - edited

            The patch as currently posted may at times throw an error when grade_item::fetch sees more than one row:

            Debug info: 
            Error code: morethanonerecordinfetch
            Stack trace:
            line 467 of \lib\setuplib.php: moodle_exception thrown
            line 163 of \lib\grade\grade_object.php: call to print_error()
            line 326 of \lib\grade\grade_item.php: call to grade_object::fetch_helper()
            line 220 of \course\modedit.php: call to grade_item::fetch()
            

            I haven't yet looked in to it in detail.

            Show
            Ray Morris added a comment - - edited The patch as currently posted may at times throw an error when grade_item::fetch sees more than one row: Debug info: Error code: morethanonerecordinfetch Stack trace: line 467 of \lib\setuplib.php: moodle_exception thrown line 163 of \lib\grade\grade_object.php: call to print_error() line 326 of \lib\grade\grade_item.php: call to grade_object::fetch_helper() line 220 of \course\modedit.php: call to grade_item::fetch() I haven't yet looked in to it in detail.
            Hide
            Tim Hunt added a comment -

            So, it looks like there are some issues to sort out Davo. Are you likely to get a chance to work on this some more?

            Show
            Tim Hunt added a comment - So, it looks like there are some issues to sort out Davo. Are you likely to get a chance to work on this some more?
            Hide
            Davo Smith added a comment -

            Possibly, but not quite sure when - I've got quite a bit to do just at the moment.

            Show
            Davo Smith added a comment - Possibly, but not quite sure when - I've got quite a bit to do just at the moment.
            Hide
            Rob Monk added a comment - - edited

            Here here. What a good feature.
            Surely, if in the Assignment setting screen we can set the Gradebook category, we should be able to set a passing grade.
            And I want a check box that says "Add to progress bar" as well.
            A one stop assignment shop.
            At the moment the work flow is. Set the assignment. Get into Gradebook > Categories and Items > Edit settings of the task to set a pass mark (Annoyingly fiddley). Get into the progress bar settings to Add the task to the progress bar selecting "Passed" as the criteria for completion. So I have to go to Assignment and Gradebook and Progress Bar just to set one task. YUK.
            All this should be able to be done in the one spot when setting the assignment!!

            Show
            Rob Monk added a comment - - edited Here here. What a good feature. Surely, if in the Assignment setting screen we can set the Gradebook category, we should be able to set a passing grade. And I want a check box that says "Add to progress bar" as well. A one stop assignment shop. At the moment the work flow is. Set the assignment. Get into Gradebook > Categories and Items > Edit settings of the task to set a pass mark (Annoyingly fiddley). Get into the progress bar settings to Add the task to the progress bar selecting "Passed" as the criteria for completion. So I have to go to Assignment and Gradebook and Progress Bar just to set one task. YUK. All this should be able to be done in the one spot when setting the assignment!!
            Hide
            Michael de Raadt added a comment -

            It would be great to see this work continue. I think would be a welcome change for something that most people don't even know about. It's also used in a few places now, so making it more accessible would be drive those areas also.

            Show
            Michael de Raadt added a comment - It would be great to see this work continue. I think would be a welcome change for something that most people don't even know about. It's also used in a few places now, so making it more accessible would be drive those areas also.
            Hide
            Adam Jenkins added a comment -

            Yes, if we could add this to the "Edit categories and items: Full view" screen, that would be quite helpful.

            Show
            Adam Jenkins added a comment - Yes, if we could add this to the "Edit categories and items: Full view" screen, that would be quite helpful.
            Hide
            Tõnis Tartes added a comment -

            Growing need for this feature.

            Show
            Tõnis Tartes added a comment - Growing need for this feature.
            Hide
            Marina Glancy added a comment -

            Hi Davo Smith, I can see your name on this issue. Are you actively working on it?

            Show
            Marina Glancy added a comment - Hi Davo Smith , I can see your name on this issue. Are you actively working on it?
            Hide
            Tõnis Tartes added a comment -

            Bump! Any updated on this?

            Show
            Tõnis Tartes added a comment - Bump! Any updated on this?
            Hide
            Marina Glancy added a comment -

            Thanks for bumping, I unassigned it from Davo so anybody else can work on it.
            The patch needs some modifications - first of all, it does not apply to master cleanly and second it does not take into account activities like workshop that may have several grade items

            Show
            Marina Glancy added a comment - Thanks for bumping, I unassigned it from Davo so anybody else can work on it. The patch needs some modifications - first of all, it does not apply to master cleanly and second it does not take into account activities like workshop that may have several grade items
            Hide
            Rob Monk added a comment -

            If would be great if Micheal de Raadt could be involved here as well so we could add assignments to the progress bar as well as set pass marks, all in the assignment setting screen.
            A one stop assignment shop.
            At the moment the work flow is. Set the assignment. Get into Gradebook > Categories and Items > Edit settings of the task to set a pass mark (Annoyingly fiddley). Get into the progress bar settings to Add the task to the progress bar selecting "Passed" as the criteria for completion. So I have to go to Assignment and Gradebook and Progress Bar just to set one task. YUK.
            All this should be able to be done in the one spot when setting the assignment!!

            Show
            Rob Monk added a comment - If would be great if Micheal de Raadt could be involved here as well so we could add assignments to the progress bar as well as set pass marks, all in the assignment setting screen. A one stop assignment shop. At the moment the work flow is. Set the assignment. Get into Gradebook > Categories and Items > Edit settings of the task to set a pass mark (Annoyingly fiddley). Get into the progress bar settings to Add the task to the progress bar selecting "Passed" as the criteria for completion. So I have to go to Assignment and Gradebook and Progress Bar just to set one task. YUK. All this should be able to be done in the one spot when setting the assignment!!
            Hide
            Eric Merrill added a comment -

            Part of the problem is that the grade-to-pass UI is completely bad, it doesn't work for scales at all, and setting 'no grade to pass' is bizarre. So it might be a matter of fixing the grade-to-pass UI before we add that UI to modules.
            MDL-12117 talks about it some (closed for inactivity), and I've been working on it a bit in MDL-48692. Any bright ideas on the scale issue are welcome.

            Show
            Eric Merrill added a comment - Part of the problem is that the grade-to-pass UI is completely bad, it doesn't work for scales at all, and setting 'no grade to pass' is bizarre. So it might be a matter of fixing the grade-to-pass UI before we add that UI to modules. MDL-12117 talks about it some (closed for inactivity), and I've been working on it a bit in MDL-48692 . Any bright ideas on the scale issue are welcome.
            Hide
            Michael de Raadt added a comment -

            Thanks for bringing up the Progress Bar, Rob. I know a lot of people use it with passing grades and have expressed to me the awkwardness of achieving this.

            Unfortunately I don't think settings from one plugin, like the Progress Bar block, could be incorporated into the settings of another, especially as the Progress Bar is contributed and Assignment is core.

            At least, if you are able to set a passing mark when you create an assignment, when you add and configure a Progress Bar block, it will recognise there is already a pass mark and present this option.

            Show
            Michael de Raadt added a comment - Thanks for bringing up the Progress Bar, Rob. I know a lot of people use it with passing grades and have expressed to me the awkwardness of achieving this. Unfortunately I don't think settings from one plugin, like the Progress Bar block, could be incorporated into the settings of another, especially as the Progress Bar is contributed and Assignment is core. At least, if you are able to set a passing mark when you create an assignment, when you add and configure a Progress Bar block, it will recognise there is already a pass mark and present this option.
            Hide
            Don Hinkelman added a comment -

            Next month, before the school year begins, I will set up my Progress Bars for nearly 100 courses. It will take me a day, mainly because setting "Grade to pass" is so convoluted. I don't understand what the problem is, but we have to fix this. I agree that the Progress Bar should detect the settings in the Quiz and Assignment modules, but not "do" the setting itself. So why don't the Quiz and Assignment modules have a setting for "Grade to pass"? By the way, isn't it odd that the #1 gamification tool in Moodle is not in core?

            Show
            Don Hinkelman added a comment - Next month, before the school year begins, I will set up my Progress Bars for nearly 100 courses. It will take me a day, mainly because setting "Grade to pass" is so convoluted. I don't understand what the problem is, but we have to fix this. I agree that the Progress Bar should detect the settings in the Quiz and Assignment modules, but not "do" the setting itself. So why don't the Quiz and Assignment modules have a setting for "Grade to pass"? By the way, isn't it odd that the #1 gamification tool in Moodle is not in core?
            Hide
            Greg added a comment -

            I've attached a branch that is based off of Davo's original branch. It takes into account mod/workshop (although alters workshop and isn't generic for any activities that handle grades differently).

            I've also added validation to ensure the grade to pass field isn't greater than the grade or scale being used. I've noticed that there is no validation in the gradebook, meaning you can enter a grade to pass of 101 for an activity with a maximum grade of 100.

            I looked at incorporating the grade to pass field into the lib/form/modgrade, but couldn't figure out how to deal with https://github.com/moodle/moodle/blob/master/lib/form/modgrade.php#L286.

            Greg

            Show
            Greg added a comment - I've attached a branch that is based off of Davo's original branch. It takes into account mod/workshop (although alters workshop and isn't generic for any activities that handle grades differently). I've also added validation to ensure the grade to pass field isn't greater than the grade or scale being used. I've noticed that there is no validation in the gradebook, meaning you can enter a grade to pass of 101 for an activity with a maximum grade of 100. I looked at incorporating the grade to pass field into the lib/form/modgrade, but couldn't figure out how to deal with https://github.com/moodle/moodle/blob/master/lib/form/modgrade.php#L286 . Greg
            Hide
            Greg added a comment -

            Have just realise I haven't created any tests. I'll try and do this tomorrow.

            Show
            Greg added a comment - Have just realise I haven't created any tests. I'll try and do this tomorrow.
            Hide
            CiBoT added a comment -

            Fails against automated checks.

            Checked MDL-13831 using repository: git://github.com/greg-or/moodle-mod_assign.git

            More information about this report

            Show
            CiBoT added a comment - Fails against automated checks. Checked MDL-13831 using repository: git://github.com/greg-or/moodle-mod_assign.git master (3 errors / 1 warnings) [branch: master_MDL-13831 | CI Job ] phplint (0/0) , php (3/0) , js (0/0) , css (0/0) , phpdoc (0/0) , commit (0/1) , savepoint (0/0) , thirdparty (0/0) , More information about this report
            Hide
            Marina Glancy added a comment -

            Thanks Greg, I did not test it but it looks pretty good. You should add a note in mod/upgrade.txt no notify other module developers. Also I will recommend to add a help icon for this field that also explains how this field work in case of scales.

            David Mudrak, you might be interested in reviewing the workshop part of code.

            Show
            Marina Glancy added a comment - Thanks Greg, I did not test it but it looks pretty good. You should add a note in mod/upgrade.txt no notify other module developers. Also I will recommend to add a help icon for this field that also explains how this field work in case of scales. David Mudrak , you might be interested in reviewing the workshop part of code.
            Hide
            Greg added a comment -

            Thanks Marina. I've described this change in mod/upgrade.txt and added the help strings using existing language from grades. I haven't altered this help string to explain scales (seems to be a separate issue).

            Also added behat tests.

            Show
            Greg added a comment - Thanks Marina. I've described this change in mod/upgrade.txt and added the help strings using existing language from grades. I haven't altered this help string to explain scales (seems to be a separate issue). Also added behat tests.
            Hide
            David Mudrak added a comment -

            Thanks Marina for pinging me. And thanks Greg for your work on this.

            In mod/workshop/lib.php change, I am wondering if we could check for

            if ($gradeitem->gradepass != $workshop->submissiongradepass)
            

            before actually changing it via $gradeitem->update() - like we do for the category. Currently, this would trigger update() all the time without actually changing anything.

            I admit that the new Workshop strings 'Grade to pass for submission' and 'Grade to pass for assessment' do not sound quite right to me. But it's beyond my English knowledge. Maybe Helen Foster can find a minute and look at it to confirm it's ok to go? TIA

            Show
            David Mudrak added a comment - Thanks Marina for pinging me. And thanks Greg for your work on this. In mod/workshop/lib.php change, I am wondering if we could check for if ($gradeitem->gradepass != $workshop->submissiongradepass) before actually changing it via $gradeitem->update() - like we do for the category. Currently, this would trigger update() all the time without actually changing anything. I admit that the new Workshop strings 'Grade to pass for submission' and 'Grade to pass for assessment' do not sound quite right to me. But it's beyond my English knowledge. Maybe Helen Foster can find a minute and look at it to confirm it's ok to go? TIA
            Hide
            Helen Foster added a comment -

            Thanks David for asking my opinion on new en lang strings. How about 'Submission grade to pass' and 'Assessment grade to pass'? They are a little bit shorter than 'Grade to pass for submission' and I think sound a little bit better.

            Greg, I notice another new string gradepassgreaterthangrade 'The grade to pass entered is greater than the grade'. Should this be ''The grade to pass entered is greater than the maximum grade.'?

            Show
            Helen Foster added a comment - Thanks David for asking my opinion on new en lang strings. How about 'Submission grade to pass' and 'Assessment grade to pass'? They are a little bit shorter than 'Grade to pass for submission' and I think sound a little bit better. Greg, I notice another new string gradepassgreaterthangrade 'The grade to pass entered is greater than the grade'. Should this be ''The grade to pass entered is greater than the maximum grade.'?
            Hide
            Greg added a comment -

            Thanks David and Helen, I've made the suggested changes and updated my branch.

            Greg

            Show
            Greg added a comment - Thanks David and Helen, I've made the suggested changes and updated my branch. Greg
            Hide
            Tim Hunt added a comment -

            I peer reveiwed an earlier iteration of this, but I don't really have time now. Removing myself.

            Show
            Tim Hunt added a comment - I peer reveiwed an earlier iteration of this, but I don't really have time now. Removing myself.
            Hide
            Tõnis Tartes added a comment -

            Bumping this. Because it would be a really helpful feature.

            Show
            Tõnis Tartes added a comment - Bumping this. Because it would be a really helpful feature.
            Hide
            Marina Glancy added a comment -

            Ok, everybody is scared to review the difficult issue. I guess I'll take it.

            Greg, as I said, this looks like a great improvement and 35 votes proves it.

            There is a confusion with scales in your patch. Negative value in the field 'grade' is actually the id of the scale. Yes, that's a weird design, sorry. But you can't compare gradepass with the inverted scale id. You have to retrieve the scale and check it's maximum value. In workshop code you ignored possibility of scales completely.

            There are also failures in the behat tests:

            (::) failed steps (::)
             
            01. "The grade to pass is greater than the grade" text was not found in the page
                In step `Then I should see "The grade to pass is greater than the grade"'.                    # behat_general::assert_page_contains_text()
                From scenario `Create an activity with a Grade to pass value greater than the maximum grade'. # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature:38
                Of feature `We can set the grade to pass value'.                                              # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature
             
            02. Field matching locator "'Grade to pass for submission'" not found.
                In step `Given I set the following fields to these values:'.                                  # behat_forms::i_set_the_following_fields_to_these_values()
                From scenario `Set a valid grade to pass for an assignment and workshop activity'.            # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature:53
                Of feature `We can set the grade to pass value'.                                              # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature
            

            Show
            Marina Glancy added a comment - Ok, everybody is scared to review the difficult issue. I guess I'll take it. Greg, as I said, this looks like a great improvement and 35 votes proves it. There is a confusion with scales in your patch. Negative value in the field 'grade' is actually the id of the scale. Yes, that's a weird design, sorry. But you can't compare gradepass with the inverted scale id. You have to retrieve the scale and check it's maximum value. In workshop code you ignored possibility of scales completely. There are also failures in the behat tests: (::) failed steps (::)   01. "The grade to pass is greater than the grade" text was not found in the page In step `Then I should see "The grade to pass is greater than the grade"'. # behat_general::assert_page_contains_text() From scenario `Create an activity with a Grade to pass value greater than the maximum grade'. # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature:38 Of feature `We can set the grade to pass value'. # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature   02. Field matching locator "'Grade to pass for submission'" not found. In step `Given I set the following fields to these values:'. # behat_forms::i_set_the_following_fields_to_these_values() From scenario `Set a valid grade to pass for an assignment and workshop activity'. # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature:53 Of feature `We can set the grade to pass value'. # /home/marina/repositories/master/moodle/grade/tests/behat/grade_to_pass.feature
            Hide
            David Mudrak added a comment -

            In workshop code you ignored possibility of scales completely.

            The workshop settings UI does not allow the teacher to select the scale here - workshop::available_maxgrades_list(). If really needed, the scale can be configured in the Gradebook for the relevant grade item. But the values stored in the workshop itself are always real grades, never scale ids.

            Show
            David Mudrak added a comment - In workshop code you ignored possibility of scales completely. The workshop settings UI does not allow the teacher to select the scale here - workshop::available_maxgrades_list(). If really needed, the scale can be configured in the Gradebook for the relevant grade item. But the values stored in the workshop itself are always real grades, never scale ids.
            Hide
            Marina Glancy added a comment -

            good, less problems then

            Show
            Marina Glancy added a comment - good, less problems then
            Hide
            Marina Glancy added a comment -

            I corrected the validation and added a bunch of behat tests. By the way, your behat tests were failing simply because of renamed strings.

            Sending for integration. I think it looks good now Thanks Greg!

            Show
            Marina Glancy added a comment - I corrected the validation and added a bunch of behat tests. By the way, your behat tests were failing simply because of renamed strings. Sending for integration. I think it looks good now Thanks Greg!
            Hide
            Marina Glancy added a comment -

            another thing I changed - I add the 'gradepass' form field always (if module supports grades). You were adding the field only if it already had data. I think it's essential that teachers need to be able to set "grade to pass" when creating acitivity

            Show
            Marina Glancy added a comment - another thing I changed - I add the 'gradepass' form field always (if module supports grades). You were adding the field only if it already had data. I think it's essential that teachers need to be able to set "grade to pass" when creating acitivity
            Hide
            Greg added a comment -

            Thanks for taking this over Marina Glancy... apologies about not being able to resolve these issues. The start of semester has been keeping me busy.

            Cheers,
            Greg

            Show
            Greg added a comment - Thanks for taking this over Marina Glancy ... apologies about not being able to resolve these issues. The start of semester has been keeping me busy. Cheers, Greg
            Hide
            Tim Hunt added a comment -

            Marina, so, where does the gradepass field appear on the quiz editing form? What happens in the quiz if you later change the Max grade at the top of the Edit quiz page? I am not sure if this will give the right usability for the quiz module (thought I have not yet made the effort to pull your branch and test it.)

            Show
            Tim Hunt added a comment - Marina, so, where does the gradepass field appear on the quiz editing form? What happens in the quiz if you later change the Max grade at the top of the Edit quiz page? I am not sure if this will give the right usability for the quiz module (thought I have not yet made the effort to pull your branch and test it.)
            Hide
            Marina Glancy added a comment -

            Tim, the 'gradepass' field in the mod_form is a shortcut to the 'gradepass' field on the grade item edit form. So whatever happens to one happens to the other. All behat tests actually ensure that. I have noticed that 'grade' field that is present in the most modules is absent in quiz and instead is passed as a hidden field.

            So I just redirect the question back to you - what do you do with grade_item->gradepass field when you change the maxgrade from inside the quiz? If you adjust it, you'll adjust this one too.

            Show
            Marina Glancy added a comment - Tim, the 'gradepass' field in the mod_form is a shortcut to the 'gradepass' field on the grade item edit form. So whatever happens to one happens to the other. All behat tests actually ensure that. I have noticed that 'grade' field that is present in the most modules is absent in quiz and instead is passed as a hidden field. So I just redirect the question back to you - what do you do with grade_item->gradepass field when you change the maxgrade from inside the quiz? If you adjust it, you'll adjust this one too.
            Hide
            Tim Hunt added a comment -

            I've never been able to understand the link between the quiz and the gradebook (It was originally implemented by Nico at HQ). So, I don't know.

            But, that is irrelevant to my question about usability.

            Show
            Tim Hunt added a comment - I've never been able to understand the link between the quiz and the gradebook (It was originally implemented by Nico at HQ). So, I don't know. But, that is irrelevant to my question about usability.
            Hide
            Eloy Lafuente (stronk7) added a comment -

            The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week.

            TIA and ciao

            Show
            Eloy Lafuente (stronk7) added a comment - The main moodle.git repository has just been updated with latest weekly modifications. You may wish to rebase your PULL branches to simplify history and avoid any possible merge conflicts. This would also make integrator's life easier next week. TIA and ciao
            Hide
            CiBoT added a comment -

            Moving this issue to current integration cycle, will be reviewed soon. Thanks for the hard work!

            Show
            CiBoT added a comment - Moving this issue to current integration cycle, will be reviewed soon. Thanks for the hard work!
            Hide
            CiBoT added a comment -

            Fails against automated checks.

            Checked MDL-13831 using repository: git://github.com/marinaglancy/moodle.git

            More information about this report

            Show
            CiBoT added a comment - Fails against automated checks. Checked MDL-13831 using repository: git://github.com/marinaglancy/moodle.git master (2 errors / 0 warnings) [branch: wip-MDL-13831-master | CI Job ] phplint (0/0) , php (2/0) , js (0/0) , css (0/0) , phpdoc (0/0) , commit (0/0) , savepoint (0/0) , thirdparty (0/0) , More information about this report
            Hide
            David Monllaó added a comment -

            Hi Greg/Marina this looks very good and the test coverage is excellent; I only see two minor "mmmmms":

            • https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-a99f1012c1f1e9220af3c0e7d50fa104R376 we are not passing the maximum grade, same when checking gradinggradepass
            • When using scales in other activities than workshop, (good to see that we have more validations here than in the gradebook) Having the scale data we could refine the gradepassgreaterthangrade message or add a new language string for it; now I select a 3 items scale and the message I see is The grade to pass can not be greater than the maximum possible grade 3, we could add something to let the user know that this 3 is the number of items the scale contains.
            Show
            David Monllaó added a comment - Hi Greg/Marina this looks very good and the test coverage is excellent; I only see two minor "mmmmms": https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-a99f1012c1f1e9220af3c0e7d50fa104R376 we are not passing the maximum grade, same when checking gradinggradepass When using scales in other activities than workshop, (good to see that we have more validations here than in the gradebook) Having the scale data we could refine the gradepassgreaterthangrade message or add a new language string for it; now I select a 3 items scale and the message I see is The grade to pass can not be greater than the maximum possible grade 3 , we could add something to let the user know that this 3 is the number of items the scale contains.
            Hide
            Marina Glancy added a comment -

            good catch David, I corrected the string calls and added a behat tests for the invalid workshop grade to pass.

            As for the scales, I really hope that we will work on the more flexible scales soon and the maximum grade will not be "the number of the items" as it is now. It's really bad implementation unfortunately and I don't want to emphasize it in the error message.

            Show
            Marina Glancy added a comment - good catch David, I corrected the string calls and added a behat tests for the invalid workshop grade to pass. As for the scales, I really hope that we will work on the more flexible scales soon and the maximum grade will not be "the number of the items" as it is now. It's really bad implementation unfortunately and I don't want to emphasize it in the error message.
            Hide
            David Monllaó added a comment -

            Thanks Marina, integrated to master.

            Show
            David Monllaó added a comment - Thanks Marina, integrated to master.
            Hide
            David Monllaó added a comment -

            Sorry, failing it; we have a few unit tests that are not passing after this, it seems caused by a minor issue though (I paste just a few, I ran out of CLI):

            59) workshopallocation_random_testcase::test_get_element_with_lowest_workload_random_floats
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/allocation/random/tests/allocator_test.php:47
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopallocation_random_testcase mod/workshop/allocation/random/tests/allocator_test.php
             
            60) workshopallocation_random_testcase::test_filter_current_assessments
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/allocation/random/tests/allocator_test.php:47
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopallocation_random_testcase mod/workshop/allocation/random/tests/allocator_test.php
             
            61) workshopeval_best_evaluation_testcase::test_normalize_grades
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            62) workshopeval_best_evaluation_testcase::test_normalize_grades_max_equals_min
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            63) workshopeval_best_evaluation_testcase::test_average_assessment_same_weights
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            64) workshopeval_best_evaluation_testcase::test_average_assessment_different_weights
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            65) workshopeval_best_evaluation_testcase::test_average_assessment_noweight
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            66) workshopeval_best_evaluation_testcase::test_weighted_variance
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            67) workshopeval_best_evaluation_testcase::test_assessments_distance_zero
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            68) workshopeval_best_evaluation_testcase::test_assessments_distance_equals
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            69) workshopeval_best_evaluation_testcase::test_assessments_distance_zero_variance
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php
             
            70) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_null_grade
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            71) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_numerical
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            72) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_negative_weight
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            73) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_numerical_weighted
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            74) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_three_numericals_same_weight
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            75) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_three_numericals_different_weights
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            76) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_scale_max
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            77) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_scale_min_with_scale_caching
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            78) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_two_scales_weighted
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            79) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_scale_exception
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php
             
            80) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_null_grade
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            81) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_no_error
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            82) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_one_error
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            83) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_three_errors_same_weight_a
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            84) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_three_errors_same_weight_b
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            85) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_one_error_weighted
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            86) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_zero_weight
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            87) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_sum_weight
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php
             
            88) workshopform_rubric_strategy_test::test_calculate_peer_grade_null_grade
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php
             
            89) workshopform_rubric_strategy_test::test_calculate_peer_grade_worst_possible
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php
             
            90) workshopform_rubric_strategy_test::test_calculate_peer_grade_best_possible
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php
             
            91) workshopform_rubric_strategy_test::test_calculate_peer_grade_something
            Undefined property: stdClass::$gradinggradepass
             
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116
            /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98
            /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466
            /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50
            /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80
             
            To re-run:
             vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php
             
            FAILURES!
            Tests: 3774, Assertions: 52457, Errors: 91, Skipped: 12.
            

            Show
            David Monllaó added a comment - Sorry, failing it; we have a few unit tests that are not passing after this, it seems caused by a minor issue though (I paste just a few, I ran out of CLI): 59) workshopallocation_random_testcase::test_get_element_with_lowest_workload_random_floats Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/allocation/random/tests/allocator_test.php:47 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopallocation_random_testcase mod/workshop/allocation/random/tests/allocator_test.php   60) workshopallocation_random_testcase::test_filter_current_assessments Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/allocation/random/tests/allocator_test.php:47 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopallocation_random_testcase mod/workshop/allocation/random/tests/allocator_test.php   61) workshopeval_best_evaluation_testcase::test_normalize_grades Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   62) workshopeval_best_evaluation_testcase::test_normalize_grades_max_equals_min Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   63) workshopeval_best_evaluation_testcase::test_average_assessment_same_weights Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   64) workshopeval_best_evaluation_testcase::test_average_assessment_different_weights Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   65) workshopeval_best_evaluation_testcase::test_average_assessment_noweight Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   66) workshopeval_best_evaluation_testcase::test_weighted_variance Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   67) workshopeval_best_evaluation_testcase::test_assessments_distance_zero Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   68) workshopeval_best_evaluation_testcase::test_assessments_distance_equals Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   69) workshopeval_best_evaluation_testcase::test_assessments_distance_zero_variance Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/eval/best/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopeval_best_evaluation_testcase mod/workshop/eval/best/tests/lib_test.php   70) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_null_grade Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   71) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_numerical Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   72) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_negative_weight Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   73) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_numerical_weighted Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   74) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_three_numericals_same_weight Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   75) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_three_numericals_different_weights Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   76) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_scale_max Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   77) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_one_scale_min_with_scale_caching Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   78) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_two_scales_weighted Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   79) workshop_accumulative_strategy_testcase::test_calculate_peer_grade_scale_exception Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/accumulative/tests/lib_test.php:49 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshop_accumulative_strategy_testcase mod/workshop/form/accumulative/tests/lib_test.php   80) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_null_grade Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   81) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_no_error Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   82) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_one_error Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   83) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_three_errors_same_weight_a Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   84) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_three_errors_same_weight_b Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   85) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_one_error_weighted Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   86) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_zero_weight Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   87) workshopform_numerrors_strategy_testcase::test_calculate_peer_grade_sum_weight Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/numerrors/tests/lib_test.php:51 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_numerrors_strategy_testcase mod/workshop/form/numerrors/tests/lib_test.php   88) workshopform_rubric_strategy_test::test_calculate_peer_grade_null_grade Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php   89) workshopform_rubric_strategy_test::test_calculate_peer_grade_worst_possible Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php   90) workshopform_rubric_strategy_test::test_calculate_peer_grade_best_possible Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php   91) workshopform_rubric_strategy_test::test_calculate_peer_grade_something Undefined property: stdClass::$gradinggradepass   /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:1151 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/lib.php:116 /home/davidm/Desktop/moodlecode/int/master/course/modlib.php:121 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/module_generator.php:262 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/tests/generator/lib.php:98 /home/davidm/Desktop/moodlecode/int/master/lib/testing/generator/data_generator.php:466 /home/davidm/Desktop/moodlecode/int/master/mod/workshop/form/rubric/tests/lib_test.php:50 /home/davidm/Desktop/moodlecode/int/master/lib/phpunit/classes/advanced_testcase.php:80   To re-run: vendor/bin/phpunit workshopform_rubric_strategy_test mod/workshop/form/rubric/tests/lib_test.php   FAILURES! Tests: 3774, Assertions: 52457, Errors: 91, Skipped: 12.
            Hide
            David Monllaó added a comment - - edited

            Patch to fix unit tests

            git pull git://github.com/dmonllao/moodle.git MDL-13831-fix-workshop-unit-test
            

            I also thought about if (isset($workshop->submissiongradepass)) in https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-35012efe71154e51fbc57737634564f6R1143 and same for https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-35012efe71154e51fbc57737634564f6R1151, let's see if any other integrator can take a look.

            Show
            David Monllaó added a comment - - edited Patch to fix unit tests git pull git://github.com/dmonllao/moodle.git MDL-13831-fix-workshop-unit-test I also thought about if (isset($workshop->submissiongradepass)) in https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-35012efe71154e51fbc57737634564f6R1143 and same for https://github.com/moodle/moodle/compare/master...marinaglancy:wip-MDL-13831-master#diff-35012efe71154e51fbc57737634564f6R1151 , let's see if any other integrator can take a look.
            Hide
            Marina Glancy added a comment -

            David Mudrak, which way do you prefer to address it - setting default 0 in generator or using isset() inside workshop module ?

            Show
            Marina Glancy added a comment - David Mudrak , which way do you prefer to address it - setting default 0 in generator or using isset() inside workshop module ?
            Hide
            Marina Glancy added a comment -

            (I can't decide )

            Show
            Marina Glancy added a comment - (I can't decide )
            Hide
            Marina Glancy added a comment -

            actually I think isset is better because as it is now we may break some other code that tries to create instances of workshop
            https://github.com/marinaglancy/moodle/compare/x-int-master...wip-MDL-13831-fix

            git pull https://github.com/marinaglancy/moodle wip-MDL-13831-fix
            

            At the same time nobody does this check for gradecategory, which is not part of the module either.... but whatever

            Show
            Marina Glancy added a comment - actually I think isset is better because as it is now we may break some other code that tries to create instances of workshop https://github.com/marinaglancy/moodle/compare/x-int-master...wip-MDL-13831-fix git pull https://github.com/marinaglancy/moodle wip-MDL-13831-fix At the same time nobody does this check for gradecategory, which is not part of the module either.... but whatever
            Hide
            David Monllaó added a comment - - edited

            Thanks Marina, pushed to master, back to testing.

            (Edited: before the proposed patch I tried this approach and unit test were also passing)

            Show
            David Monllaó added a comment - - edited Thanks Marina, pushed to master, back to testing. (Edited: before the proposed patch I tried this approach and unit test were also passing)
            Hide
            David Mudrak added a comment -

            Sorry, did not manage to dive into this in time. I am sure Marina made a wise decision though. Thanks for it.

            Show
            David Mudrak added a comment - Sorry, did not manage to dive into this in time. I am sure Marina made a wise decision though. Thanks for it.
            Hide
            Mark Nelson added a comment -

            Thanks for working on this Greg and Marina.

            There is one issue I had which occurred in step 5. If there is a 'Grade to pass' value set in the DB before you change the 'Type' to 'None' you will keep getting the validation message 'The grade to pass can not be greater than the maximum possible grade 0'. The only way I found to bypass this was to set the 'Type' to something other than 'None', changing the 'Grade to pass' value to '0', saving the activity then re-editing the activity and setting the 'Type' back to 'None'.

            Show
            Mark Nelson added a comment - Thanks for working on this Greg and Marina. There is one issue I had which occurred in step 5. If there is a 'Grade to pass' value set in the DB before you change the 'Type' to 'None' you will keep getting the validation message 'The grade to pass can not be greater than the maximum possible grade 0'. The only way I found to bypass this was to set the 'Type' to something other than 'None', changing the 'Grade to pass' value to '0', saving the activity then re-editing the activity and setting the 'Type' back to 'None'.
            Hide
            Marina Glancy added a comment -

            wow, good point Mark! working on the fix

            Show
            Marina Glancy added a comment - wow, good point Mark! working on the fix
            Hide
            Marina Glancy added a comment -

            https://github.com/marinaglancy/moodle/compare/x-int-master...wip-MDL-13831-fix2

            git pull https://github.com/marinaglancy/moodle wip-MDL-13831-fix2
            

            Show
            Marina Glancy added a comment - https://github.com/marinaglancy/moodle/compare/x-int-master...wip-MDL-13831-fix2 git pull https://github.com/marinaglancy/moodle wip-MDL-13831-fix2
            Hide
            David Monllaó added a comment -

            Thanks Marina

            Show
            David Monllaó added a comment - Thanks Marina
            Hide
            David Monllaó added a comment -

            Thanks Marina, back to testing.

            Show
            David Monllaó added a comment - Thanks Marina, back to testing.
            Hide
            Mark Nelson added a comment -

            Thanks Marina, that does the job. However, should we clear the 'Grade to pass' value as well if the 'Type' is set to 'None'? Like what we do with the 'Maximum points' value. Right now, if I set the 'Grade to pass' to a value, save, then change the 'Type' back to 'None' and save I can still go to the gradebook and see the old value in the 'Grade to pass' entry.

            Show
            Mark Nelson added a comment - Thanks Marina, that does the job. However, should we clear the 'Grade to pass' value as well if the 'Type' is set to 'None'? Like what we do with the 'Maximum points' value. Right now, if I set the 'Grade to pass' to a value, save, then change the 'Type' back to 'None' and save I can still go to the gradebook and see the old value in the 'Grade to pass' entry.
            Hide
            Marina Glancy added a comment -

            I don't think we should clear it in the form because we don't clear it in the db either.

            Show
            Marina Glancy added a comment - I don't think we should clear it in the form because we don't clear it in the db either.
            Hide
            Mark Nelson added a comment -

            I meant clear it from the DB, so it doesn't show on the gradebook page. However, if the 'Grade to pass' value is ignored when there is no grade type I suppose there is no harm. Though I do think it's confusing that this value is not disabled on the gradebook page as well. Maybe that could be another issue? Regardless, I am passing this issue as it can be dealt with in another issue as it isn't directly related to these changes.

            Show
            Mark Nelson added a comment - I meant clear it from the DB, so it doesn't show on the gradebook page. However, if the 'Grade to pass' value is ignored when there is no grade type I suppose there is no harm. Though I do think it's confusing that this value is not disabled on the gradebook page as well. Maybe that could be another issue? Regardless, I am passing this issue as it can be dealt with in another issue as it isn't directly related to these changes.
            Hide
            Eloy Lafuente (stronk7) added a comment -

            Your amazing work is now part of Moodle, the mother of all LMSs ! As a reward, be sure that Moodle, the Mum, loves you with all her heart and soul! Many thanks!

            Closing as fixed, ciao

            Show
            Eloy Lafuente (stronk7) added a comment - Your amazing work is now part of Moodle, the mother of all LMSs ! As a reward, be sure that Moodle, the Mum, loves you with all her heart and soul! Many thanks! Closing as fixed, ciao

              People

              • Votes:
                35 Vote for this issue
                Watchers:
                30 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: