Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

method_tests.py 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. from decimal import Decimal as D
  2. from django.test import TestCase
  3. from nose.plugins.attrib import attr
  4. from oscar.apps.shipping import methods
  5. from oscar.apps.basket.models import Basket
  6. from oscar.test import factories
  7. @attr('shipping')
  8. class TestFreeShippping(TestCase):
  9. def setUp(self):
  10. self.method = methods.Free()
  11. def test_is_free_for_empty_basket(self):
  12. basket = Basket()
  13. self.method.set_basket(basket)
  14. self.assertEquals(D('0.00'), self.method.charge_incl_tax)
  15. self.assertEquals(D('0.00'), self.method.charge_excl_tax)
  16. def test_includes_tax(self):
  17. basket = Basket()
  18. self.method.set_basket(basket)
  19. self.assertTrue(self.method.is_tax_known)
  20. def test_shipping_is_free_for_nonempty_basket(self):
  21. basket = factories.create_basket()
  22. self.method.set_basket(basket)
  23. self.assertEquals(D('0.00'), self.method.charge_incl_tax)
  24. self.assertEquals(D('0.00'), self.method.charge_excl_tax)
  25. @attr('shipping')
  26. class TestNoShippingRequired(TestCase):
  27. def setUp(self):
  28. self.method = methods.NoShippingRequired()
  29. def test_is_free_for_empty_basket(self):
  30. basket = Basket()
  31. self.method.set_basket(basket)
  32. self.assertEquals(D('0.00'), self.method.charge_incl_tax)
  33. self.assertEquals(D('0.00'), self.method.charge_excl_tax)
  34. def test_has_a_different_code_to_free(self):
  35. self.assertTrue(methods.NoShippingRequired.code !=
  36. methods.Free.code)
  37. @attr('shipping')
  38. class TestFixedPriceShippingWithoutTax(TestCase):
  39. def setUp(self):
  40. self.method = methods.FixedPrice(D('10.00'))
  41. basket = Basket()
  42. self.method.set_basket(basket)
  43. def test_has_correct_charge(self):
  44. self.assertEquals(D('10.00'), self.method.charge_excl_tax)
  45. def test_does_not_include_tax(self):
  46. self.assertFalse(self.method.is_tax_known)
  47. def test_does_not_know_charge_including_tax(self):
  48. self.assertIsNone(self.method.charge_incl_tax)
  49. @attr('shipping')
  50. class TestFixedPriceShippingWithTax(TestCase):
  51. def setUp(self):
  52. self.method = methods.FixedPrice(
  53. D('10.00'), D('12.00'))
  54. basket = Basket()
  55. self.method.set_basket(basket)
  56. def test_has_correct_charge(self):
  57. self.assertEquals(D('10.00'), self.method.charge_excl_tax)
  58. self.assertEquals(D('12.00'), self.method.charge_incl_tax)
  59. def test_does_include_tax(self):
  60. self.assertTrue(self.method.is_tax_known)