当前位置: 首页>>代码示例>>Python>>正文


Python OrderAndItemCharges.calculate方法代码示例

本文整理汇总了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)
开发者ID:JostCrow,项目名称:django-oscar,代码行数:32,代码来源:model_method_tests.py

示例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)
开发者ID:JostCrow,项目名称:django-oscar,代码行数:18,代码来源:model_method_tests.py

示例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)
开发者ID:JostCrow,项目名称:django-oscar,代码行数:45,代码来源:model_method_tests.py


注:本文中的oscar.apps.shipping.models.OrderAndItemCharges.calculate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。