MDL-86253 mod_quiz: Respect enrollment status in notifications

This commit is contained in:
raortegar
2025-10-02 08:14:46 +07:00
committed by Huong Nguyen
parent 2b5108f4f3
commit b7a2e28e52
2 changed files with 6 additions and 0 deletions
@@ -80,6 +80,7 @@ class notification_helper {
context: \context_module::instance($quizobj->get_cm()->id),
withcapability: 'mod/quiz:attempt',
userfields: 'u.id, u.firstname, u.suspended, u.auth',
onlyactive: true,
);
// Filter a list of users who meet the availability conditions.
@@ -92,12 +92,14 @@ final class notification_helper_test extends \advanced_testcase {
$user4 = $generator->create_user();
$user5 = $generator->create_user();
$user6 = $generator->create_user(['suspended' => 1]);
$user7 = $generator->create_user();
$generator->enrol_user($user1->id, $course->id, 'student');
$generator->enrol_user($user2->id, $course->id, 'student');
$generator->enrol_user($user3->id, $course->id, 'student');
$generator->enrol_user($user4->id, $course->id, 'student');
$generator->enrol_user($user5->id, $course->id, 'teacher');
$generator->enrol_user($user6->id, $course->id, 'student');
$generator->enrol_user($user7->id, $course->id, 'student', 'manual', 0, 0, ENROL_USER_SUSPENDED);
/** @var \mod_quiz_generator $quizgenerator */
$quizgenerator = $generator->get_plugin_generator('mod_quiz');
@@ -155,6 +157,9 @@ final class notification_helper_test extends \advanced_testcase {
// User6 should not be in the returned users because it is suspended.
$this->assertArrayNotHasKey($user6->id, $users);
// User7 should not be in the returned users because it is suspended within the course.
$this->assertArrayNotHasKey($user7->id, $users);
// Let's add some availability conditions.
$availability =
[