Skip to content
Snippets Groups Projects
Commit bd6dd986 authored by Matt Hughes's avatar Matt Hughes Committed by Matt Hughes
Browse files

Revert "Optimizing notify_credentials management command"

This reverts commit 3e987cfe.
parent 565018bd
No related merge requests found
......@@ -212,7 +212,6 @@ class Command(BaseCommand):
def send_notifications(self, certs, grades, site_config=None, delay=0, page_size=0, verbose=False):
""" Run actual handler commands for the provided certs and grades. """
course_cert_info = {}
# First, do certs
for i, cert in paged_query(certs, delay, page_size):
if site_config and not site_config.has_org(cert.course_id.org):
......@@ -232,14 +231,8 @@ class Command(BaseCommand):
'status': cert.status,
'verbose': verbose,
}
data = {
'mode': cert.mode,
'status': cert.status
}
course_cert_info[(cert.user.id, str(cert.course_id))] = data
handle_course_cert_changed(**signal_args)
handle_cert_change(**signal_args)
# Then do grades
for i, grade in paged_query(grades, delay, page_size):
......@@ -253,21 +246,14 @@ class Command(BaseCommand):
)
user = User.objects.get(id=grade.user_id)
# Grab mode/status from cert call
if course_cert_info:
key = (user.id, str(grade.course_id))
mode = course_cert_info[key].get('mode', None)
status = course_cert_info[key].get('status', None)
send_grade_if_interesting(
user,
grade.course_id,
mode,
status,
None,
None,
grade.letter_grade,
grade.percent_grade,
verbose=verbose,
verbose=verbose
)
def get_course_keys(self, courses=None):
......
......@@ -127,6 +127,7 @@ class TestNotifyCredentials(TestCase):
call_command(Command(), '--start-date', '2017-02-01')
self.assertEqual(mock_grade_cert_change.call_count, 2)
self.assertEqual(mock_grade_interesting.call_count, 2)
self.assertEqual(mock_program_changed.call_count, 2)
@mock.patch(COMMAND_MODULE + '.time')
def test_delay(self, mock_time):
......@@ -153,13 +154,15 @@ class TestNotifyCredentials(TestCase):
self.assertEqual(len(connection.queries), baseline + 2) # one extra page query each for certs & grades
@mock.patch(COMMAND_MODULE + '.send_grade_if_interesting')
def test_site(self, mock_grade_interesting):
@mock.patch(COMMAND_MODULE + '.handle_cert_change')
def test_site(self, mock_grade_interesting, mock_cert_change):
site_config = SiteConfigurationFactory.create(
site_values={'course_org_filter': ['testX']}
)
call_command(Command(), '--site', site_config.site.domain, '--start-date', '2017-01-01')
self.assertEqual(mock_grade_interesting.call_count, 1)
self.assertEqual(mock_cert_change.call_count, 1)
@mock.patch(COMMAND_MODULE + '.Command.send_notifications')
def test_args_from_database(self, mock_send):
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment