def test_not_send_anything_if_user_does_not_have_proposals(self): user = User.objects.create_user(username="******", email="*****@*****.**") initial_amount_of_mails = len(mail.outbox) r = PeriodicReporter(user) r.send_mail() amount_of_mails = len(mail.outbox) self.assertEquals(amount_of_mails, initial_amount_of_mails)
def report_sender_task(): users_with_proposals = User.objects.exclude(proposals__isnull=True) if not config.PERIODIC_REPORTS_ENABLED: users_with_proposals = users_with_proposals.filter(is_staff=True) for u in users_with_proposals: r = PeriodicReporter(u) r.send_mail()
def test_get_context_for_only_one_day(self): r = PeriodicReporter(self.fiera, days=1) context = r.get_mail_context() self.assertEquals(context['proposals'][0]['analytics']['commitments'], 0) self.assertEquals(context['proposals'][0]['analytics']['visits'], 0) self.assertEquals(context['proposals'][0]['analytics']['likers'], 0)
def test_send_mail(self): initial_amount_of_mails = len(mail.outbox) r = PeriodicReporter(self.fiera) r.send_mail() amount_of_mails = len(mail.outbox) self.assertEquals(amount_of_mails, initial_amount_of_mails + 1) the_mail = mail.outbox[amount_of_mails - 1] self.assertEquals(len(the_mail.to), 1) self.assertIn(self.fiera.email, the_mail.to)
def test_instantiate_and_get_attributes(self): r = PeriodicReporter(self.fiera) self.assertEquals(r.mail_template, 'periodic_report') proposals = r.get_proposals() self.assertIn(self.popular_proposal, proposals) context = r.get_mail_context() self.assertEquals(context['user'], self.fiera) self.assertEquals(context['proposals'][0]['proposal'], self.popular_proposal) self.assertEquals(context['proposals'][0]['analytics'], self.popular_proposal.get_analytics())
def report_sender_task(): users_with_proposals = User.objects.exclude(proposals__isnull=True) if not config.PERIODIC_REPORTS_ENABLED: users_with_proposals = users_with_proposals.filter(is_staff=True) for u in users_with_proposals: r = PeriodicReporter(u) r.send_mail() ## send_mails_to_staff({'number': users_with_proposals}, 'notice_to_staff_of_periodic_reports')
def test_recomendation_comes_with_new_proposals(self): should_not_be_1 = PopularProposal.objects.create(proposer=self.feli, area=self.arica, data=self.data, title=u'old proposal', clasification=u'education', ) should_not_be_1.created = TWO_DAYS_AGO should_not_be_1.save() r = PeriodicReporter(self.fiera, days=1) context = r.get_mail_context() new_proposals = context['new_proposals'] self.assertIn(self.should_be_1, new_proposals) self.assertNotIn(self.should_not_be_in_recomendation, new_proposals) self.assertNotIn(self.should_not_be_in_recomendation2, new_proposals) self.assertNotIn(should_not_be_1, new_proposals)
def test_recomendation_comes_with_new_proposals(self): should_not_be_1 = PopularProposal.objects.create( proposer=self.feli, area=self.arica, data=self.data, title=u'old proposal', clasification=u'education', ) should_not_be_1.created = TWO_DAYS_AGO should_not_be_1.save() r = PeriodicReporter(self.fiera, days=1) context = r.get_mail_context() new_proposals = context['new_proposals'] self.assertIn(self.should_be_1, new_proposals) self.assertNotIn(self.should_not_be_in_recomendation, new_proposals) self.assertNotIn(self.should_not_be_in_recomendation2, new_proposals) self.assertNotIn(should_not_be_1, new_proposals)
def test_sending_mail_with_recomendation_comes_with_new_proposals(self): initial_amount_of_mails = len(mail.outbox) r = PeriodicReporter(self.fiera) r.send_mail() amount_of_mails = len(mail.outbox) self.assertEquals(amount_of_mails, initial_amount_of_mails + 1)