Move test_enqeue_config into the schedules management command base test class

This commit is contained in:
Nimisha Asthagiri
2017-10-26 09:01:24 -04:00
parent 9e99489a46
commit 81da729af7
3 changed files with 19 additions and 28 deletions

View File

@@ -54,6 +54,7 @@ class TestSendRecurringNudge(ScheduleBaseEmailTestBase):
deliver_task = tasks._recurring_nudge_schedule_send
tested_command = nudge.Command
deliver_config = 'deliver_recurring_nudge'
enqueue_config = 'enqueue_recurring_nudge'
expected_offsets = (-3, -10)
@patch.object(tested_task, 'async_send_task')
@@ -80,20 +81,6 @@ class TestSendRecurringNudge(ScheduleBaseEmailTestBase):
self.assertFalse(mock_schedule_send.apply_async.called)
@patch.object(tasks, 'ace')
@patch.object(tasks.ScheduleUpgradeReminder, 'apply_async')
def test_enqueue_disabled(self, mock_ace, mock_apply_async):
ScheduleConfigFactory.create(site=self.site_config.site, enqueue_recurring_nudge=False)
current_datetime = datetime.datetime(2017, 8, 1, tzinfo=pytz.UTC)
self.tested_task.enqueue(
self.site_config.site,
current_datetime,
3
)
self.assertFalse(mock_apply_async.called)
self.assertFalse(mock_ace.send.called)
@patch.object(tasks, 'ace')
@patch.object(tested_task, 'async_send_task')
@ddt.data(

View File

@@ -61,6 +61,7 @@ class TestUpgradeReminder(ScheduleBaseEmailTestBase):
deliver_task = tasks._upgrade_reminder_schedule_send
tested_command = reminder.Command
deliver_config = 'deliver_upgrade_reminder'
enqueue_config = 'enqueue_upgrade_reminder'
expected_offsets = (2,)
has_course_queries = True
@@ -74,20 +75,6 @@ class TestUpgradeReminder(ScheduleBaseEmailTestBase):
expiration_datetime=datetime.datetime.now(pytz.UTC) + datetime.timedelta(days=30),
)
@patch.object(tasks, 'ace')
@patch.object(tested_task, 'apply_async')
def test_enqueue_disabled(self, mock_ace, mock_apply_async):
ScheduleConfigFactory.create(site=self.site_config.site, enqueue_upgrade_reminder=False)
current_day = datetime.datetime(2017, 8, 1, tzinfo=pytz.UTC)
self.tested_task.enqueue(
self.site_config.site,
current_day,
day_offset=3,
)
self.assertFalse(mock_apply_async.called)
self.assertFalse(mock_ace.send.called)
@patch.object(tasks, 'ace')
@patch.object(tested_task, 'async_send_task')
@ddt.data(

View File

@@ -197,3 +197,20 @@ class ScheduleBaseEmailTestBase(SharedModuleStoreTestCase):
self.assertTrue(mock_ace.send.called)
else:
self.assertFalse(mock_ace.send.called)
@ddt.data(True, False)
def test_enqueue_config(self, is_enabled):
schedule_config_kwargs = {
'site': self.site_config.site,
self.enqueue_config: is_enabled,
}
ScheduleConfigFactory.create(**schedule_config_kwargs)
current_datetime = datetime.datetime(2017, 8, 1, tzinfo=pytz.UTC)
with patch.object(self.tested_task, 'apply_async') as mock_apply_async:
self.tested_task.enqueue(self.site_config.site, current_datetime, 3)
if is_enabled:
self.assertTrue(mock_apply_async.called)
else:
self.assertFalse(mock_apply_async.called)