def setUp(self):
        self.products = [create_product(Decimal('5.00')), create_product(Decimal('10.00'))]
        self.range = models.Range.objects.create(name="Some products")
        for product in self.products:
            self.range.included_products.add(product)
            self.range.included_products.add(product)

        self.basket = Basket.objects.create()
        self.condition = models.CoverageCondition(range=self.range, type="Coverage", value=2)
 def setUp(self):
     self.products = [factories.create_product(), factories.create_product()]
     self.range = models.Range.objects.create(name="Some products")
     for product in self.products:
         self.range.add_product(product)
         self.range.add_product(product)
     self.basket = factories.create_basket(empty=True)
     self.condition = models.CoverageCondition(
         range=self.range, type="Coverage", value=2)
     self.offer = mock.Mock()
Example #3
0
 def setUp(self):
     self.products = [
         factories.create_product(),
         factories.create_product()
     ]
     self.range = models.Range.objects.create(name="Some products")
     for product in self.products:
         self.range.included_products.add(product)
         self.range.included_products.add(product)
     self.basket = factories.create_basket(empty=True)
     self.condition = models.CoverageCondition(range=self.range,
                                               type="Coverage",
                                               value=2)
     self.offer = mock.Mock()
     self.offer.applies_to_tax_exclusive_prices = False
    def test_consumed_items_checks_affected_items(self):
        # Create new offer
        range = models.Range.objects.create(name="All products", includes_all_products=True)
        cond = models.CoverageCondition(range=range, type="Coverage", value=2)

        # Get 4 distinct products in the basket
        self.products.extend(
            [factories.create_product(), factories.create_product()])
        for product in self.products:
            add_product(self.basket, product=product)

        self.assertTrue(cond.is_satisfied(self.offer, self.basket))
        cond.consume_items(self.offer, self.basket, [])
        self.assertEqual(2, self.basket.num_items_without_discount)

        self.assertTrue(cond.is_satisfied(self.offer, self.basket))
        cond.consume_items(self.offer, self.basket, [])
        self.assertEqual(0, self.basket.num_items_without_discount)
Example #5
0
def coverage_condition(range_some):
    return models.CoverageCondition(range=range_some, type="Coverage", value=2)