Exemplo n.º 1
0
 def setUp(self):
     self.product = create_product(num_in_stock=10)
     self.user_basket = Basket()
     self.user_basket.strategy = strategy.Default()
     add_product(self.user_basket, product=self.product)
     self.cookie_basket = Basket()
     self.cookie_basket.strategy = strategy.Default()
     add_product(self.cookie_basket, quantity=2, product=self.product)
     self.user_basket.merge(self.cookie_basket, add_quantities=False)
Exemplo n.º 2
0
    def setUp(self):
        self.product = factories.create_product()
        self.record = factories.create_stockrecord(self.product,
                                                   price_excl_tax=D('10.00'))
        self.purchase_info = factories.create_purchase_info(self.record)

        self.main_basket = Basket()
        self.main_basket.strategy = strategy.Default()
        self.main_basket.add(self.product, quantity=2)

        self.merge_basket = Basket()
        self.merge_basket.strategy = strategy.Default()
        self.merge_basket.add(self.product, quantity=1)

        self.main_basket.merge(self.merge_basket)
Exemplo n.º 3
0
 def setUp(self):
     self.basket = Basket()
     self.basket.strategy = strategy.Default()
     self.product = factories.create_product()
     self.record = factories.create_stockrecord(self.product,
                                                price_excl_tax=D('10.00'))
     self.purchase_info = factories.create_purchase_info(self.record)
     self.basket.add(self.product, 10)
Exemplo n.º 4
0
    def test_line_tax_for_zero_tax_strategies(self):
        basket = Basket()
        basket.strategy = strategy.Default()
        product = factories.create_product()
        # Tax for the default strategy will be 0
        factories.create_stockrecord(product,
                                     price_excl_tax=D('75.00'),
                                     num_in_stock=10)
        basket.add(product, 1)

        self.assertEqual(basket.lines.first().line_tax, D('0'))
Exemplo n.º 5
0
    def test_totals_for_free_products(self):
        basket = Basket()
        basket.strategy = strategy.Default()
        # Add a zero-priced product to the basket
        product = factories.create_product()
        factories.create_stockrecord(product,
                                     price_excl_tax=D('0.00'),
                                     num_in_stock=10)
        basket.add(product, 1)

        self.assertEqual(basket.lines.count(), 1)
        self.assertEqual(basket.total_excl_tax, 0)
        self.assertEqual(basket.total_incl_tax, 0)
Exemplo n.º 6
0
    def test_line_tax_for_unknown_tax_strategies(self):
        class UnknownTaxStrategy(strategy.Default):
            """ A test strategy where the tax is not known """
            def pricing_policy(self, product, stockrecord):
                return prices.FixedPrice('GBP',
                                         stockrecord.price_excl_tax,
                                         tax=None)

        basket = Basket()
        basket.strategy = UnknownTaxStrategy()
        product = factories.create_product()
        factories.create_stockrecord(product, num_in_stock=10)
        basket.add(product, 1)

        self.assertEqual(basket.lines.first().line_tax, None)
Exemplo n.º 7
0
 def test_discounts_charge(self):
     basket = Basket()
     charge = self.method.calculate(basket)
     self.assertEqual(D('7.00'), charge.incl_tax)
Exemplo n.º 8
0
 def test_delegates_is_tax_known(self):
     basket = Basket()
     charge = self.method.calculate(basket)
     self.assertTrue(charge.is_tax_known)
Exemplo n.º 9
0
 def test_can_have_tax_set_later(self):
     basket = Basket()
     charge = self.method.calculate(basket)
     charge.tax = D('1.00')
     self.assertEqual(D('9.00'), charge.incl_tax)
Exemplo n.º 10
0
 def setUp(self):
     self.method = methods.FixedPrice(charge_excl_tax=D('10.00'),
                                      charge_incl_tax=D('12.00'))
     basket = Basket()
     self.charge = self.method.calculate(basket)
Exemplo n.º 11
0
 def setUp(self):
     self.method = methods.FixedPrice(D('10.00'))
     basket = Basket()
     self.charge = self.method.calculate(basket)
Exemplo n.º 12
0
 def setUp(self):
     self.method = methods.NoShippingRequired()
     basket = Basket()
     self.charge = self.method.calculate(basket)
Exemplo n.º 13
0
 def setUp(self):
     self.method = methods.Free()
     self.basket = Basket()
     self.charge = self.method.calculate(self.basket)
Exemplo n.º 14
0
    def test_returns_zero_for_empty_basket(self):
        basket = Basket()

        scale = Scale(attribute_code='weight')
        self.assertEqual(0, scale.weigh_basket(basket))
Exemplo n.º 15
0
 def setUp(self):
     self.basket = Basket()
     self.basket.strategy = strategy.Default()
     self.basket.submit()