diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_recurring_nudge.py b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_recurring_nudge.py index 7070cfb9f8..78a79861c0 100644 --- a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_recurring_nudge.py +++ b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_recurring_nudge.py @@ -51,7 +51,9 @@ class TestSendRecurringNudge(ScheduleBaseEmailTestBase): # pylint: disable=protected-access tested_task = tasks.ScheduleRecurringNudge + deliver_task = tasks._recurring_nudge_schedule_send tested_command = nudge.Command + deliver_config = 'deliver_recurring_nudge' expected_offsets = (-3, -10) @patch.object(tested_task, 'async_send_task') @@ -78,14 +80,6 @@ class TestSendRecurringNudge(ScheduleBaseEmailTestBase): self.assertFalse(mock_schedule_send.apply_async.called) - @patch.object(tasks, 'ace') - def test_delivery_disabled(self, mock_ace): - ScheduleConfigFactory.create(site=self.site_config.site, deliver_recurring_nudge=False) - - mock_msg = Mock() - tasks._recurring_nudge_schedule_send(self.site_config.site.id, mock_msg) - self.assertFalse(mock_ace.send.called) - @patch.object(tasks, 'ace') @patch.object(tasks.ScheduleUpgradeReminder, 'apply_async') def test_enqueue_disabled(self, mock_ace, mock_apply_async): diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py index 5a2aa45c8d..f104b1144d 100644 --- a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py +++ b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py @@ -58,7 +58,9 @@ class TestUpgradeReminder(ScheduleBaseEmailTestBase): __test__ = True tested_task = tasks.ScheduleUpgradeReminder + deliver_task = tasks._upgrade_reminder_schedule_send tested_command = reminder.Command + deliver_config = 'deliver_upgrade_reminder' expected_offsets = (2,) has_course_queries = True @@ -72,14 +74,6 @@ class TestUpgradeReminder(ScheduleBaseEmailTestBase): expiration_datetime=datetime.datetime.now(pytz.UTC) + datetime.timedelta(days=30), ) - @patch.object(tasks, 'ace') - def test_delivery_disabled(self, mock_ace): - ScheduleConfigFactory.create(site=self.site_config.site, deliver_upgrade_reminder=False) - - mock_msg = Mock() - tasks._upgrade_reminder_schedule_send(self.site_config.site.id, mock_msg) - self.assertFalse(mock_ace.send.called) - @patch.object(tasks, 'ace') @patch.object(tested_task, 'apply_async') def test_enqueue_disabled(self, mock_ace, mock_apply_async): diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/tools.py b/openedx/core/djangoapps/schedules/management/commands/tests/tools.py index 2aa459209f..8ec2f4cb14 100644 --- a/openedx/core/djangoapps/schedules/management/commands/tests/tools.py +++ b/openedx/core/djangoapps/schedules/management/commands/tests/tools.py @@ -3,7 +3,7 @@ import ddt import logging from freezegun import freeze_time -from mock import patch +from mock import Mock, patch import pytz from courseware.models import DynamicUpgradeDeadlineConfiguration @@ -181,3 +181,19 @@ class ScheduleBaseEmailTestBase(SharedModuleStoreTestCase): # is null. self.assertEqual(mock_schedule_send.apply_async.call_count, 0) + @ddt.data(True, False) + @patch.object(tasks, 'ace') + @patch.object(tasks, 'Message') + def test_deliver_config(self, is_enabled, mock_message, mock_ace): + schedule_config_kwargs = { + 'site': self.site_config.site, + self.deliver_config: is_enabled, + } + ScheduleConfigFactory.create(**schedule_config_kwargs) + + mock_msg = Mock() + self.deliver_task(self.site_config.site.id, mock_msg) + if is_enabled: + self.assertTrue(mock_ace.send.called) + else: + self.assertFalse(mock_ace.send.called)