| 1234567891011121314151617181920212223242526272829303132333435363738 |
- from decimal import Decimal as D
-
- from django.test import TestCase
- from nose.plugins.attrib import attr
-
- from oscar.apps.basket.models import Basket
- from oscar.apps.shipping import repository, methods
-
-
- @attr('shipping')
- class TestShippingRepository(TestCase):
-
- def setUp(self):
- self.repo = repository.Repository()
- self.basket = Basket()
-
- def test_returns_free_as_only_option(self):
- available_methods = self.repo.get_shipping_methods(
- user=None, basket=self.basket)
- self.assertEqual(1, len(available_methods))
-
- method = available_methods[0]
- self.assertTrue(isinstance(method, methods.Free))
- self.assertEquals(D('0.00'), method.charge_incl_tax)
- self.assertEquals(D('0.00'), method.charge_excl_tax)
-
- def test_allows_free_method_to_be_retrieved(self):
- method = self.repo.find_by_code(methods.Free.code, self.basket)
- self.assertTrue(isinstance(method, methods.Free))
-
- def test_allows_no_shipping_required_method_to_be_retrieved(self):
- method = self.repo.find_by_code(
- methods.NoShippingRequired.code, self.basket)
- self.assertTrue(isinstance(method, methods.NoShippingRequired))
-
- def test_returns_none_for_unknown_code(self):
- method = self.repo.find_by_code('asdf', self.basket)
- self.assertIsNone(method)
|