예제 #1
0
 def setUp(self):
     super(AbsoluteDiscountBenefitTest, self).setUp()
     self.benefit = AbsoluteDiscountBenefit(range=self.range,
                                            type="Absolute",
                                            value=Decimal('10.00'))
     self.item = create_product(price=Decimal('5.00'))
     self.original_offer_rounding_function = getattr(
         settings, 'OSCAR_OFFER_ROUNDING_FUNCTION', None)
     if self.original_offer_rounding_function is not None:
         delattr(settings, 'OSCAR_OFFER_ROUNDING_FUNCTION')
예제 #2
0
    def test_count_condition_is_applied_multpile_times(self):
        benefit = AbsoluteDiscountBenefit(range=self.range,
                                          type="Absolute",
                                          value=Decimal('10.00'))
        for i in range(10):
            self.basket.add_product(
                create_product(price=Decimal('5.00'), upc='upc_%i' % i), 1)
        product_range = Range.objects.create(name="All products",
                                             includes_all_products=True)
        condition = CountCondition(range=product_range, type="Count", value=2)

        first_discount = benefit.apply(self.basket, condition=condition)
        self.assertEquals(Decimal('10.00'), first_discount)

        second_discount = benefit.apply(self.basket, condition=condition)
        self.assertEquals(Decimal('10.00'), second_discount)
예제 #3
0
 def setUp(self):
     super(AbsoluteDiscountBenefitTest, self).setUp()
     self.benefit = AbsoluteDiscountBenefit(range=self.range,
                                            type="Absolute",
                                            value=Decimal('10.00'))
     self.item = create_product(price=Decimal('5.00'))