From 0470e432adc96528fc445432216f695ba382b8b7 Mon Sep 17 00:00:00 2001 From: Awais Jibran Date: Tue, 21 Jan 2020 21:04:15 +0500 Subject: [PATCH] Fix schedules app --- openedx/core/djangoapps/schedules/resolvers.py | 1 + .../djangoapps/schedules/tests/test_resolvers.py | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/openedx/core/djangoapps/schedules/resolvers.py b/openedx/core/djangoapps/schedules/resolvers.py index 78a0a34f2b..b5b786737b 100644 --- a/openedx/core/djangoapps/schedules/resolvers.py +++ b/openedx/core/djangoapps/schedules/resolvers.py @@ -116,6 +116,7 @@ class BinnedSchedulesBaseResolver(PrefixedDebugLoggerMixin, RecipientResolver): } users = User.objects.filter( courseenrollment__is_active=True, + is_active=True, **schedule_day_equals_target_day_filter ).annotate( id_mod=self.bin_num_for_user_id(F('id')) diff --git a/openedx/core/djangoapps/schedules/tests/test_resolvers.py b/openedx/core/djangoapps/schedules/tests/test_resolvers.py index e47458f5e8..b045c1276a 100644 --- a/openedx/core/djangoapps/schedules/tests/test_resolvers.py +++ b/openedx/core/djangoapps/schedules/tests/test_resolvers.py @@ -155,3 +155,15 @@ class TestCourseUpdateResolver(SchedulesResolverTestMixin, ModuleStoreTestCase): resolver = self.create_resolver() schedules = list(resolver.schedules_for_bin()) self.assertIn('optout', schedules[0][2]['unsubscribe_url']) + + @override_waffle_flag(COURSE_UPDATE_WAFFLE_FLAG, True) + def test_get_schedules_with_target_date_by_bin_and_orgs_filter_inactive_users(self): + """Tests that schedules of inactive users are excluded""" + resolver = self.create_resolver() + schedules = resolver.get_schedules_with_target_date_by_bin_and_orgs() + + self.assertEqual(schedules.count(), 1) + self.user.is_active = False + self.user.save() + schedules = resolver.get_schedules_with_target_date_by_bin_and_orgs() + self.assertEqual(schedules.count(), 0)