MDL-65050 core: delete orphaned files and functions
authorSimey Lameze <simey@moodle.com>
Thu, 28 Mar 2019 08:38:49 +0000 (16:38 +0800)
committerSimey Lameze <simey@moodle.com>
Mon, 1 Apr 2019 04:57:05 +0000 (12:57 +0800)
question/engine/bank.php
question/tests/previewlib_test.php [deleted file]
question/upgrade.txt

index 68c6aaf..61b01a7 100644 (file)
@@ -408,21 +408,6 @@ abstract class question_bank {
         return self::$fractionoptionsfull;
     }
 
-    /**
-     * Perform scheduled maintenance tasks relating to the question bank.
-     */
-    public static function cron() {
-        global $CFG;
-
-        // Delete any old question preview that got left in the database.
-        require_once($CFG->dirroot . '/question/previewlib.php');
-        question_preview_cron();
-
-        // Clear older calculated stats from cache.
-        require_once($CFG->dirroot . '/question/engine/statisticslib.php');
-        question_usage_statistics_cron();
-    }
-
     /**
      * Return a list of the different question types present in the given categories.
      *
diff --git a/question/tests/previewlib_test.php b/question/tests/previewlib_test.php
deleted file mode 100644 (file)
index b021555..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * Quiz events tests.
- *
- * @package    mod_quiz
- * @category   phpunit
- * @copyright  2013 Adrian Greeve
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-
-defined('MOODLE_INTERNAL') || die();
-
-global $CFG;
-require_once($CFG->dirroot . '/question/previewlib.php');
-
-/**
- * Unit tests for question preview.
- *
- * @package    question
- * @category   phpunit
- * @copyright  2016 Andrew Nicols
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-class question_previewlib_testcase extends advanced_testcase {
-
-    /**
-     * Setup some convenience test data with a single attempt.
-     *
-     * @return question_usage_by_activity
-     */
-    protected function prepare_question_data() {
-        $this->resetAfterTest(true);
-
-        $questiongenerator = $this->getDataGenerator()->get_plugin_generator('core_question');
-
-        // Create a questions and start the preview.
-        $cat = $questiongenerator->create_question_category();
-
-        $quba = question_engine::make_questions_usage_by_activity('core_question_preview', context_system::instance());
-        $quba->set_preferred_behaviour('deferredfeedback');
-        $questiondata = $questiongenerator->create_question('numerical', null, array('category' => $cat->id));
-        $question = question_bank::load_question($questiondata->id);
-        $quba->add_question($question);
-        $quba->start_all_questions();
-        question_engine::save_questions_usage_by_activity($quba);
-
-        return $quba;
-    }
-
-    /**
-     * Test the attempt deleted event.
-     */
-    public function test_question_preview_cron() {
-        global $DB;
-
-        // Create some quiz data.
-        // This will create two questions.
-        $quba1 = $this->prepare_question_data();
-
-        // Run the cron.
-        ob_start();
-        question_preview_cron();
-        $output = ob_get_clean();
-        $this->assertEquals("\n  Cleaning up old question previews...done.\n", $output);
-
-        // The attempt should not have been removed.
-        // There should be one question usage with two question attempts.
-        $this->assertEquals(1, $DB->count_records('question_usages', array('id' => $quba1->get_id())));
-        $this->assertEquals(1, $DB->count_records('question_attempts', array('questionusageid' => $quba1->get_id())));
-        $this->assertEquals(1, $DB->count_records('question_attempt_steps'));
-        $this->assertEquals(1, $DB->count_records('question_attempt_step_data'));
-
-        // Update the timemodified and timecreated to be in the past.
-        $DB->set_field('question_attempts', 'timemodified', time() - WEEKSECS);
-        $DB->set_field('question_attempt_steps', 'timecreated', time() - WEEKSECS);
-
-        // Create some quiz data.
-        // This will create two questions.
-        $quba2 = $this->prepare_question_data();
-
-        // There will now be 2 usages, etc.
-        $this->assertEquals(2, $DB->count_records('question_usages'));
-        $this->assertEquals(2, $DB->count_records('question_attempts'));
-        $this->assertEquals(2, $DB->count_records('question_attempt_steps'));
-        $this->assertEquals(2, $DB->count_records('question_attempt_step_data'));
-
-        // Run the cron again.
-        // $quba1 will be removed, but $quba2 should still be present.
-        ob_start();
-        question_preview_cron();
-        $output = ob_get_clean();
-        $this->assertEquals("\n  Cleaning up old question previews...done.\n", $output);
-
-        $this->assertEquals(0, $DB->count_records('question_usages', array('id' => $quba1->get_id())));
-        $this->assertEquals(0, $DB->count_records('question_attempts', array('questionusageid' => $quba1->get_id())));
-        $this->assertEquals(1, $DB->count_records('question_usages', array('id' => $quba2->get_id())));
-        $this->assertEquals(1, $DB->count_records('question_attempts', array('questionusageid' => $quba2->get_id())));
-        $this->assertEquals(1, $DB->count_records('question_attempt_steps'));
-        $this->assertEquals(1, $DB->count_records('question_attempt_step_data'));
-    }
-}
index 3310109..94f5e58 100644 (file)
@@ -11,6 +11,10 @@ The exportprocess function of the qformat_default class doesn't output a blank l
 if the result of the writequestion function is null. This permit to qformat plugins
 to ignore some questions without the need to overwrite this function.
 
+* The question_preview_cron() has been deleted. Please use \core\task\question_cron_task::execute().
+* The question_usage_statistics_cron() has been deleted. Please use \core\task\question_cron_task::execute().
+* The method question_bank::cron() has been deleted, please use question related scheduled tasks.
+
 === 3.5 ===
 
 1) The question format exportprocess function now adds a