test_context_processors.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. from django.test import TestCase
  2. from misago.core import context_processors
  3. class MockRequest(object):
  4. def __init__(self, secure, host):
  5. self.secure = secure
  6. self.host = host
  7. def is_secure(self):
  8. return self.secure
  9. def get_host(self):
  10. return self.host
  11. class SiteAddressTests(TestCase):
  12. def test_site_address_for_http(self):
  13. """Correct SITE_ADDRESS set for HTTP request"""
  14. mock_request = MockRequest(False, 'somewhere.com')
  15. self.assertEqual(
  16. context_processors.site_address(mock_request),
  17. {
  18. 'SITE_ADDRESS': 'http://somewhere.com',
  19. 'SITE_HOST': 'somewhere.com',
  20. 'SITE_PROTOCOL': 'http',
  21. })
  22. def test_site_address_for_https(self):
  23. """Correct SITE_ADDRESS set for HTTPS request"""
  24. mock_request = MockRequest(True, 'somewhere.com')
  25. self.assertEqual(
  26. context_processors.site_address(mock_request),
  27. {
  28. 'SITE_ADDRESS': 'https://somewhere.com',
  29. 'SITE_HOST': 'somewhere.com',
  30. 'SITE_PROTOCOL': 'https',
  31. })
  32. class PreloadedDataTests(TestCase):
  33. def test_preloaded_ember_data(self):
  34. """preloaded_ember_data is available in templates"""
  35. mock_request = MockRequest(False, 'somewhere.com')
  36. mock_request.preloaded_ember_data = {'someValue': 'Something'}
  37. self.assertEqual(
  38. context_processors.preloaded_ember_data(mock_request),
  39. {'preloaded_ember_data': {'someValue': 'Something'}})