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

repository_tests.py 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from decimal import Decimal as D
  2. from django.test import TestCase
  3. from nose.plugins.attrib import attr
  4. from oscar.apps.basket.models import Basket
  5. from oscar.apps.shipping import repository, methods
  6. @attr('shipping')
  7. class TestShippingRepository(TestCase):
  8. def setUp(self):
  9. self.repo = repository.Repository()
  10. self.basket = Basket()
  11. def test_returns_free_as_only_option(self):
  12. available_methods = self.repo.get_shipping_methods(
  13. user=None, basket=self.basket)
  14. self.assertEqual(1, len(available_methods))
  15. method = available_methods[0]
  16. self.assertTrue(isinstance(method, methods.Free))
  17. self.assertEquals(D('0.00'), method.charge_incl_tax)
  18. self.assertEquals(D('0.00'), method.charge_excl_tax)
  19. def test_allows_free_method_to_be_retrieved(self):
  20. method = self.repo.find_by_code(methods.Free.code, self.basket)
  21. self.assertTrue(isinstance(method, methods.Free))
  22. def test_allows_no_shipping_required_method_to_be_retrieved(self):
  23. method = self.repo.find_by_code(
  24. methods.NoShippingRequired.code, self.basket)
  25. self.assertTrue(isinstance(method, methods.NoShippingRequired))
  26. def test_returns_none_for_unknown_code(self):
  27. method = self.repo.find_by_code('asdf', self.basket)
  28. self.assertIsNone(method)