diff --git a/lib/classes/task/task_trait.php b/lib/classes/task/task_trait.php new file mode 100644 index 00000000000..323c2dd6901 --- /dev/null +++ b/lib/classes/task/task_trait.php @@ -0,0 +1,40 @@ +. + +namespace core\task; + +/** + * This file defines a trait to assist with unit tests in tasks. + * + * @package core + * @copyright 2024 Huong Nguyen + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +trait task_trait { + + /** + * Helper to execute a particular task. + * + * @param string $taskclass The task class. + */ + protected function execute_task(string $taskclass): void { + // Run the scheduled task. + ob_start(); + $task = manager::get_scheduled_task($taskclass); + $task->execute(); + ob_end_clean(); + } +}