12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from unittest import mock
-
- from django.contrib.sessions.middleware import SessionMiddleware
- from django.http import HttpResponse
- from django.test import TestCase
- from django.test.client import RequestFactory
-
- from oscar.apps.checkout.utils import CheckoutSessionData
-
-
- class TestCheckoutSession(TestCase):
- """
- oscar.apps.checkout.utils.CheckoutSessionData
- """
-
- @staticmethod
- def get_response_for_test(request):
- return HttpResponse()
-
- def setUp(self):
- request = RequestFactory().get("/")
- SessionMiddleware(self.get_response_for_test).process_request(request)
- self.session_data = CheckoutSessionData(request)
-
- def test_allows_data_to_be_written_and_read_out(self):
- self.session_data._set("namespace", "key", "value")
- self.assertEqual("value", self.session_data._get("namespace", "key"))
-
- def test_allows_set_data_can_be_unset(self):
- self.session_data._set("namespace", "key", "value")
- self.session_data._unset("namespace", "key")
- self.assertIsNone(self.session_data._get("namespace", "key"))
-
- def test_stores_guest_email(self):
- self.session_data.set_guest_email("a@a.com")
- self.assertEqual("a@a.com", self.session_data.get_guest_email())
-
- def test_allows_a_namespace_to_be_flushed(self):
- self.session_data._set("ns", "a", 1)
- self.session_data._set("ns", "b", 2)
- self.session_data._flush_namespace("ns")
- self.assertIsNone(self.session_data._get("ns", "a"))
- self.assertIsNone(self.session_data._get("ns", "b"))
-
- def test_allows_bill_to_user_address(self):
- address = mock.Mock()
- address.id = 1
- self.session_data.bill_to_user_address(address)
- self.assertEqual(1, self.session_data.billing_user_address_id())
|