From 5f810c4724ed76ca3606bf2a2c63d5aab9ac2007 Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Tue, 1 Mar 2022 09:32:13 +0000 Subject: [PATCH] MDL-74020 course: update how required libraries are loaded in test. Test data providers are executed before `setUpBeforeClass`, so any library constants used by the providers must already be present. Reverts part of the change in 691c5b83. --- course/tests/courselib_test.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/course/tests/courselib_test.php b/course/tests/courselib_test.php index b02ca689253..3a42db3fa6f 100644 --- a/course/tests/courselib_test.php +++ b/course/tests/courselib_test.php @@ -49,6 +49,12 @@ use restore_controller; use stdClass; use testing_data_generator; +defined('MOODLE_INTERNAL') or die(); + +// Require library globally because it's constants are used within dataProvider methods, executed before setUpBeforeClass. +global $CFG; +require_once($CFG->dirroot . '/course/lib.php'); + /** * Course related unit tests * @@ -65,7 +71,6 @@ class courselib_test extends advanced_testcase { public static function setUpBeforeClass(): void { global $CFG; - require_once($CFG->dirroot . '/course/lib.php'); require_once($CFG->dirroot . '/course/tests/fixtures/course_capability_assignment.php'); require_once($CFG->dirroot . '/enrol/imsenterprise/tests/imsenterprise_test.php'); }