def test_initial_email(self): search = SavedSearchFactory(user=self.user, is_active=False, url='www.my.jobs/search?q=new+search') search.initial_email() self.assertEqual(len(mail.outbox), 1) self.assertEqual(SavedSearchLog.objects.count(), 1) log = SavedSearchLog.objects.get() self.assertTrue('Jobs are not sent' in log.reason) self.assertTrue(log.was_sent) email = mail.outbox.pop() self.assertEqual(email.from_email, 'My.jobs Saved Search <*****@*****.**>') self.assertEqual(email.to, [self.user.email]) self.assertEqual("My.jobs New Saved Search" in email.subject, True) self.assertTrue("table" in email.body) self.assertTrue(email.to[0] in email.body) # Search url appears twice - once displaying the saved search source # and once in the view link. self.assertEqual(email.body.count(search.url), 2)
def test_saved_search_invitation_context(self): """ Test that creating an invitation context from a saved search instance produces a context with a message, the saved search itself, an unsent initial email, and whether that saved search is text only. """ saved_search = SavedSearchFactory(user=self.user, text_only=True) context = invitation_context(saved_search) self.assertEqual(context, { "message": " in order to begin receiving their available job " "opportunities on a regular basis.", "saved_search": saved_search, "initial_search_email": saved_search.initial_email(send=False), "text_only": saved_search.text_only})
def test_saved_search_invitation_context(self): """ Test that creating an invitation context from a saved search instance produces a context with a message, the saved search itself, an unsent initial email, and whether that saved search is text only. """ saved_search = SavedSearchFactory(user=self.user, text_only=True) context = invitation_context(saved_search) self.assertEqual( context, { "message": " in order to begin receiving their available job " "opportunities on a regular basis.", "saved_search": saved_search, "initial_search_email": saved_search.initial_email(send=False), "text_only": saved_search.text_only })