From 2468c99c521ab92bf37754b1b9239125fac08933 Mon Sep 17 00:00:00 2001 From: Chris Rossi Date: Fri, 13 Dec 2013 10:04:01 -0500 Subject: [PATCH] Test grandfather path. --- .../commands/tests/test_mailusers.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/lms/djangoapps/linkedin/management/commands/tests/test_mailusers.py b/lms/djangoapps/linkedin/management/commands/tests/test_mailusers.py index 4c349236cb..a3be0da932 100644 --- a/lms/djangoapps/linkedin/management/commands/tests/test_mailusers.py +++ b/lms/djangoapps/linkedin/management/commands/tests/test_mailusers.py @@ -37,3 +37,28 @@ class MailusersTests(unittest.TestCase): [((fred.user, 1),), ((fred.user, 2),), ((barney.user, 3),)]) + + @mock.patch('linkedin.management.commands.mailusers.send_grandfather_email') + @mock.patch('linkedin.management.commands.mailusers.GeneratedCertificate') + @mock.patch('linkedin.management.commands.mailusers.LinkedIn') + def test_mail_users_grandfather(self, linkedin, certificates, send_email): + """ + Test "happy path" for sending grandfather emails. + """ + fut = mailusers.Command().handle + fred = mock.Mock(user=mock.Mock(certificates=[1, 2])) + barney = mock.Mock(user=mock.Mock(certificates=[3])) + linkedin.objects.filter.return_value = [fred, barney] + + def filter_user(user): + "Mock querying the database." + queryset = mock.Mock() + queryset.filter.return_value = user.certificates + return queryset + + certificates.objects.filter = filter_user + fut(grandfather=True) + self.assertEqual( + send_email.call_args_list, + [((fred.user, [1, 2]),), + ((barney.user, [3]),)])