You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

middleware_tests.py 1.2KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.test import TestCase
  2. from django.test.client import RequestFactory
  3. from django.contrib.auth.models import AnonymousUser
  4. from oscar.apps.basket import middleware
  5. class TestBasketMiddleware(TestCase):
  6. def setUp(self):
  7. self.middleware = middleware.BasketMiddleware()
  8. self.request = RequestFactory().get('/')
  9. self.request.user = AnonymousUser()
  10. self.middleware.process_request(self.request)
  11. def test_basket_is_attached_to_request(self):
  12. self.assertTrue(hasattr(self.request, 'basket'))
  13. def test_strategy_is_attached_to_basket(self):
  14. self.assertTrue(hasattr(self.request.basket, 'strategy'))
  15. def test_strategy_is_attached_to_request(self):
  16. self.assertTrue(hasattr(self.request, 'strategy'))
  17. def test_get_cookie_basket_handles_invalid_signatures(self):
  18. request_factory = RequestFactory()
  19. request_factory.cookies['oscar_open_basket'] = '1:NOTAVALIDHASH'
  20. request = request_factory.get('/')
  21. request.cookies_to_delete = []
  22. cookie_basket = self.middleware.get_cookie_basket("oscar_open_basket", request, None)
  23. self.assertEqual(None, cookie_basket)
  24. self.assertIn("oscar_open_basket", request.cookies_to_delete)