def test_product_review_email(self): """ Check the review email sent after an order is placed """ # GET AN ORDER: order = Order.objects.filter(date_paid__isnull=False).order_by('?')[0] # TEST THE EMAIL IN ENGLISH self.assertEqual(product_review(order.id), True) self.assertEquals(len(mail.outbox), 1) email_subject_line = _("Please review your purchase at %s") % settings.SITE_NAME self.assertEquals(mail.outbox[0].subject, email_subject_line) mail.outbox = []
def handle_noargs(self, **options): # GET ALL CUSTOMER PACKAGES THAT HAVE BEEN SHIPPED BETWEEN # 2-4 WEEKS AGO AND HAVEN'T RECEIVED A REVIEW EMAIL YET items = [] three_weeks = (datetime.now() - timedelta(days=21)) four_weeks = (datetime.now() - timedelta(days=28)) packages = CustomerPackage.objects.filter( posted__range=(four_weeks, three_weeks), review_email_sent__isnull=True, ) for p in packages: # SEND THE EMAIL AND UPDATE THE PACKAGE product_review(p.order) p.review_email_sent = datetime.now() p.save() items.append(package) # SEND A LIST OF REVIEW EMAILS SENT TO ADMIN if items: _admin_cron_update(data=items, subject_line="REVIEW emails sent today")