From c4b97587668faee054613b69c060d2e3475eda21 Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Thu, 27 Jun 2019 00:01:43 +0200 Subject: [PATCH 1/2] MDL-53778 quiz: ensure completion deps are fulfilled by generator uses There are some mod_quiz generator issues where the new chain of dependencies between completion settings was not being observed. This patch just ensures that the now 3 chained settings are enabled together (or new quiz options logic will proceed to disable them). --- mod/quiz/tests/lib_test.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mod/quiz/tests/lib_test.php b/mod/quiz/tests/lib_test.php index bf822270a12..df77dee1286 100644 --- a/mod/quiz/tests/lib_test.php +++ b/mod/quiz/tests/lib_test.php @@ -166,6 +166,7 @@ class mod_quiz_lib_testcase extends advanced_testcase { 'questionsperpage' => 0, 'sumgrades' => 1, 'completion' => COMPLETION_TRACKING_AUTOMATIC, + 'completionusegrade' => 1, 'completionpass' => 1); $quiz = $quizgenerator->create_instance($data); $cm = get_coursemodule_from_id('quiz', $quiz->cmid); @@ -880,14 +881,14 @@ class mod_quiz_lib_testcase extends advanced_testcase { $quiz1 = $this->getDataGenerator()->create_module('quiz', [ 'course' => $course->id, 'completion' => 2, + 'completionusegrade' => 1, 'completionattemptsexhausted' => 1, 'completionpass' => 1 ]); $quiz2 = $this->getDataGenerator()->create_module('quiz', [ 'course' => $course->id, 'completion' => 2, - 'completionattemptsexhausted' => 0, - 'completionpass' => 0 + 'completionusegrade' => 0 ]); $cm1 = cm_info::create(get_coursemodule_from_instance('quiz', $quiz1->id)); $cm2 = cm_info::create(get_coursemodule_from_instance('quiz', $quiz2->id)); From 7ab8ebf5b10523b1918486fe8d8987bec98cfd2c Mon Sep 17 00:00:00 2001 From: "Eloy Lafuente (stronk7)" Date: Thu, 27 Jun 2019 00:36:54 +0200 Subject: [PATCH 2/2] MDL-53778 quiz: ensure completion deps are fulfilled by behat Behat backgrounds and scenarios must observe the new interdependencies between quiz completion settings. This commits just applies that to the tests missing it. --- .../tests/behat/completion_condition_attempts_used.feature | 4 ++-- .../tests/behat/completion_condition_passing_grade.feature | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mod/quiz/tests/behat/completion_condition_attempts_used.feature b/mod/quiz/tests/behat/completion_condition_attempts_used.feature index 7e87610f57a..370c9638276 100644 --- a/mod/quiz/tests/behat/completion_condition_attempts_used.feature +++ b/mod/quiz/tests/behat/completion_condition_attempts_used.feature @@ -25,8 +25,8 @@ Feature: Set a quiz to be marked complete when the student uses all attempts all | questioncategory | qtype | name | questiontext | | Test questions | truefalse | First question | Answer the first question | And the following "activities" exist: - | activity | name | course | idnumber | attempts | gradepass | completion | completionattemptsexhausted | - | quiz | Test quiz name | C1 | quiz1 | 2 | 5.00 | 2 | 1 | + | activity | name | course | idnumber | attempts | gradepass | completion | completionusegrade | completionpass | completionattemptsexhausted | + | quiz | Test quiz name | C1 | quiz1 | 2 | 5.00 | 2 | 1 | 1 | 1 | And quiz "Test quiz name" contains the following questions: | question | page | | First question | 1 | diff --git a/mod/quiz/tests/behat/completion_condition_passing_grade.feature b/mod/quiz/tests/behat/completion_condition_passing_grade.feature index 668c563bfb0..d5ec91bcf99 100644 --- a/mod/quiz/tests/behat/completion_condition_passing_grade.feature +++ b/mod/quiz/tests/behat/completion_condition_passing_grade.feature @@ -25,8 +25,8 @@ Feature: Set a quiz to be marked complete when the student passes | questioncategory | qtype | name | questiontext | | Test questions | truefalse | First question | Answer the first question | And the following "activities" exist: - | activity | name | course | idnumber | attempts | gradepass | completion | completionpass | - | quiz | Test quiz name | C1 | quiz1 | 4 | 5.00 | 2 | 1 | + | activity | name | course | idnumber | attempts | gradepass | completion | completionusegrade | completionpass | + | quiz | Test quiz name | C1 | quiz1 | 4 | 5.00 | 2 | 1 | 1 | And quiz "Test quiz name" contains the following questions: | question | page | | First question | 1 |