Пример #1
0
    def test_hurry_mode_not_set_multiple_stockrecords(self):
        # Two stockrecords, 5 items in stock for one. No need to hurry.
        create_stockrecord(self.product, num_in_stock=1)
        create_stockrecord(self.product, num_in_stock=5)
        ProductAlert.objects.create(user=self.user, product=self.product)

        send_product_alerts(self.product)

        self.assertNotIn('Beware that the amount of items in stock is limited',
                         mail.outbox[0].body)
Пример #2
0
    def test_hurry_mode_not_set_when_stock_high(self):
        # One alert, 5 items in stock. No need to hurry.
        create_stockrecord(self.product, num_in_stock=5)
        ProductAlert.objects.create(user=self.user, product=self.product)

        send_product_alerts(self.product)

        self.assertEqual(1, len(mail.outbox))
        self.assertNotIn('Beware that the amount of items in stock is limited',
                         mail.outbox[0].body)
Пример #3
0
    def test_hurry_mode_set_multiple_stockrecords(self):
        # Two stockrecords, low stock on both. Hurry mode should be set.
        create_stockrecord(self.product, num_in_stock=1)
        create_stockrecord(self.product, num_in_stock=1)
        ProductAlert.objects.create(user=self.user, product=self.product)
        ProductAlert.objects.create(user=UserFactory(), product=self.product)

        send_product_alerts(self.product)

        self.assertIn('Beware that the amount of items in stock is limited',
                      mail.outbox[0].body)
Пример #4
0
    def test_hurry_mode_set_when_stock_low(self):
        # Two alerts, 1 item in stock. Hurry mode should be set.
        create_stockrecord(self.product, num_in_stock=1)
        ProductAlert.objects.create(user=self.user, product=self.product)
        ProductAlert.objects.create(user=UserFactory(), product=self.product)

        send_product_alerts(self.product)

        self.assertEqual(2, len(mail.outbox))
        self.assertIn('Beware that the amount of items in stock is limited',
                      mail.outbox[0].body)
Пример #5
0
 def test_alert_creates_email_obj(self):
     ProductAlert.objects.create(user=self.user, product=self.product)
     send_product_alerts(self.product)
     self.assertEqual(self.user.emails.count(), 1)
Пример #6
0
 def test_alert_uses_dispatcher(self, mock_dispatch):
     ProductAlert.objects.create(user=self.user, product=self.product)
     send_product_alerts(self.product)
     self.assertEqual(mock_dispatch.call_count, 1)
     self.assertEqual(mock_dispatch.call_args[0][0], self.user)