| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- from decimal import Decimal as D
-
- from django.test import TestCase
- from nose.plugins.attrib import attr
-
- from oscar.apps.shipping import methods
- from oscar.apps.basket.models import Basket
- from oscar.test import factories
-
-
- @attr('shipping')
- class TestFreeShippping(TestCase):
-
- def setUp(self):
- self.method = methods.Free()
-
- def test_is_free_for_empty_basket(self):
- basket = Basket()
- self.method.set_basket(basket)
- self.assertEquals(D('0.00'), self.method.charge_incl_tax)
- self.assertEquals(D('0.00'), self.method.charge_excl_tax)
-
- def test_includes_tax(self):
- basket = Basket()
- self.method.set_basket(basket)
- self.assertTrue(self.method.is_tax_known)
-
- def test_shipping_is_free_for_nonempty_basket(self):
- basket = factories.create_basket()
- self.method.set_basket(basket)
- self.assertEquals(D('0.00'), self.method.charge_incl_tax)
- self.assertEquals(D('0.00'), self.method.charge_excl_tax)
-
-
- @attr('shipping')
- class TestNoShippingRequired(TestCase):
-
- def setUp(self):
- self.method = methods.NoShippingRequired()
-
- def test_is_free_for_empty_basket(self):
- basket = Basket()
- self.method.set_basket(basket)
- self.assertEquals(D('0.00'), self.method.charge_incl_tax)
- self.assertEquals(D('0.00'), self.method.charge_excl_tax)
-
- def test_has_a_different_code_to_free(self):
- self.assertTrue(methods.NoShippingRequired.code !=
- methods.Free.code)
-
-
- @attr('shipping')
- class TestFixedPriceShippingWithoutTax(TestCase):
-
- def setUp(self):
- self.method = methods.FixedPrice(D('10.00'))
- basket = Basket()
- self.method.set_basket(basket)
-
- def test_has_correct_charge(self):
- self.assertEquals(D('10.00'), self.method.charge_excl_tax)
-
- def test_does_not_include_tax(self):
- self.assertFalse(self.method.is_tax_known)
-
- def test_does_not_know_charge_including_tax(self):
- self.assertIsNone(self.method.charge_incl_tax)
-
-
- @attr('shipping')
- class TestFixedPriceShippingWithTax(TestCase):
-
- def setUp(self):
- self.method = methods.FixedPrice(
- D('10.00'), D('12.00'))
- basket = Basket()
- self.method.set_basket(basket)
-
- def test_has_correct_charge(self):
- self.assertEquals(D('10.00'), self.method.charge_excl_tax)
- self.assertEquals(D('12.00'), self.method.charge_incl_tax)
-
- def test_does_include_tax(self):
- self.assertTrue(self.method.is_tax_known)
|