本文整理汇总了Python中oscar.apps.shipping.models.OrderAndItemCharges.calculate方法的典型用法代码示例。如果您正苦于以下问题:Python OrderAndItemCharges.calculate方法的具体用法?Python OrderAndItemCharges.calculate怎么用?Python OrderAndItemCharges.calculate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oscar.apps.shipping.models.OrderAndItemCharges
的用法示例。
在下文中一共展示了OrderAndItemCharges.calculate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestNonZeroFreeThreshold
# 需要导入模块: from oscar.apps.shipping.models import OrderAndItemCharges [as 别名]
# 或者: from oscar.apps.shipping.models.OrderAndItemCharges import calculate [as 别名]
class TestNonZeroFreeThreshold(TestCase):
def setUp(self):
self.method = OrderAndItemCharges(
price_per_order=D('10.00'), free_shipping_threshold=D('20.00'))
self.basket = factories.create_basket(empty=True)
def test_basket_below_threshold(self):
record = factories.create_stockrecord(price_excl_tax=D('5.00'))
self.basket.add_product(record.product)
charge = self.method.calculate(self.basket)
self.assertEqual(D('10.00'), charge.incl_tax)
def test_basket_on_threshold(self):
record = factories.create_stockrecord(price_excl_tax=D('5.00'))
self.basket.add_product(record.product, quantity=4)
charge = self.method.calculate(self.basket)
self.assertEqual(D('0.00'), charge.incl_tax)
def test_basket_above_threshold(self):
record = factories.create_stockrecord(price_excl_tax=D('5.00'))
self.basket.add_product(record.product, quantity=8)
charge = self.method.calculate(self.basket)
self.assertEqual(D('0.00'), charge.incl_tax)
示例2: ZeroFreeThresholdTest
# 需要导入模块: from oscar.apps.shipping.models import OrderAndItemCharges [as 别名]
# 或者: from oscar.apps.shipping.models.OrderAndItemCharges import calculate [as 别名]
class ZeroFreeThresholdTest(TestCase):
def setUp(self):
self.method = OrderAndItemCharges(
price_per_order=D('10.00'), free_shipping_threshold=D('0.00'))
self.basket = factories.create_basket(empty=True)
def test_free_shipping_with_empty_basket(self):
charge = self.method.calculate(self.basket)
self.assertEqual(D('0.00'), charge.incl_tax)
def test_free_shipping_with_nonempty_basket(self):
record = factories.create_stockrecord(price_excl_tax=D('5.00'))
self.basket.add_product(record.product)
charge = self.method.calculate(self.basket)
self.assertEqual(D('0.00'), charge.incl_tax)
示例3: TestOrderAndItemCharges
# 需要导入模块: from oscar.apps.shipping.models import OrderAndItemCharges [as 别名]
# 或者: from oscar.apps.shipping.models.OrderAndItemCharges import calculate [as 别名]
class TestOrderAndItemCharges(TestCase):
def setUp(self):
self.method = OrderAndItemCharges(
price_per_order=D('5.00'), price_per_item=D('1.00'))
def test_tax_is_known(self):
basket = factories.create_basket(empty=True)
charge = self.method.calculate(basket)
self.assertTrue(charge.is_tax_known)
def test_returns_order_level_charge_for_empty_basket(self):
basket = factories.create_basket(empty=True)
charge = self.method.calculate(basket)
self.assertEqual(D('5.00'), charge.incl_tax)
def test_single_item_basket(self):
basket = factories.create_basket(empty=False)
charge = self.method.calculate(basket)
self.assertEqual(D('5.00') + D('1.00'),
charge.incl_tax)
def test_single_item_basket_that_doesnt_require_shipping(self):
# Create a product that doesn't require shipping
record = factories.create_stockrecord()
product = record.product
product.product_class.requires_shipping = False
product.product_class.save()
basket = factories.create_basket(empty=True)
basket.add_product(record.product)
charge = self.method.calculate(basket)
self.assertEqual(D('5.00'), charge.incl_tax)
def test_multi_item_basket(self):
basket = factories.create_basket(empty=True)
record = factories.create_stockrecord()
basket.add_product(record.product, 7)
charge = self.method.calculate(basket)
self.assertEqual(D('5.00') + 7*D('1.00'), charge.incl_tax)