| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from django.contrib.auth.models import AnonymousUser
- from django.http import HttpResponse
- from django.test import TestCase
- from django.test.client import RequestFactory
-
- from oscar.apps.basket import middleware
-
-
- class TestBasketMiddleware(TestCase):
- @staticmethod
- def get_response_for_test(request):
- return HttpResponse()
-
- def setUp(self):
- self.middleware = middleware.BasketMiddleware(self.get_response_for_test)
- self.request = RequestFactory().get("/")
- self.request.user = AnonymousUser()
- self.middleware(self.request)
-
- def test_basket_is_attached_to_request(self):
- self.assertTrue(hasattr(self.request, "basket"))
-
- def test_strategy_is_attached_to_basket(self):
- # pylint: disable=no-member
- self.assertTrue(hasattr(self.request.basket, "strategy"))
-
- def test_strategy_is_attached_to_request(self):
- self.assertTrue(hasattr(self.request, "strategy"))
-
- def test_get_cookie_basket_handles_invalid_signatures(self):
- request_factory = RequestFactory()
- request_factory.cookies["oscar_open_basket"] = "1:NOTAVALIDHASH"
- request = request_factory.get("/")
- request.cookies_to_delete = []
-
- cookie_basket = self.middleware.get_cookie_basket(
- "oscar_open_basket", request, None
- )
-
- self.assertEqual(None, cookie_basket)
- self.assertIn("oscar_open_basket", request.cookies_to_delete)
|