Browse Source

added tests for preloaders

Rafał Pitoń 10 years ago
parent
commit
0370b0cda7

+ 1 - 1
misago/conf/context_processors.py

@@ -15,7 +15,7 @@ def settings(request):
     }
     }
 
 
 
 
-def preload_config_json(request):
+def preload_settings_json(request):
     preloaded_settings = db_settings.get_public_settings()
     preloaded_settings = db_settings.get_public_settings()
 
 
     preloaded_settings.update({
     preloaded_settings.update({

+ 2 - 2
misago/conf/defaults.py

@@ -147,8 +147,8 @@ TEMPLATE_CONTEXT_PROCESSORS = (
     'misago.core.context_processors.site_address',
     'misago.core.context_processors.site_address',
     'misago.conf.context_processors.settings',
     'misago.conf.context_processors.settings',
     'misago.users.context_processors.sites_links',
     'misago.users.context_processors.sites_links',
-    # Preloading data
-    'misago.conf.context_processors.preload_config_json',
+    # Data preloaders
+    'misago.conf.context_processors.preload_settings_json',
     'misago.users.context_processors.preload_user_json',
     'misago.users.context_processors.preload_user_json',
     # Note: keep preloaded_ember_data processor last for previous processors
     # Note: keep preloaded_ember_data processor last for previous processors
     # to be able to add data to request.preloaded_ember_data
     # to be able to add data to request.preloaded_ember_data

+ 8 - 1
misago/conf/tests/test_context_processors.py

@@ -10,7 +10,7 @@ class MockRequest(object):
     pass
     pass
 
 
 
 
-class ContextProcessorTests(TestCase):
+class ContextProcessorsTests(TestCase):
     def tearDown(self):
     def tearDown(self):
         threadstore.clear()
         threadstore.clear()
 
 
@@ -20,3 +20,10 @@ class ContextProcessorTests(TestCase):
         processor_settings = settings(mock_request)['misago_settings'],
         processor_settings = settings(mock_request)['misago_settings'],
 
 
         self.assertEqual(id(processor_settings[0]), id(db_settings))
         self.assertEqual(id(processor_settings[0]), id(db_settings))
+
+    def test_preload_settings(self):
+        """site configuration is preloaded by middleware"""
+        with self.settings(_MISAGO_JS_DEBUG=True):
+            response = self.client.get('/misago-preload-data.js')
+            self.assertEqual(response.status_code, 200)
+            self.assertIn('misagoSettings', response.content)

+ 20 - 0
misago/users/tests/test_preloading.py

@@ -0,0 +1,20 @@
+from misago.users.testutils import UserTestCase
+
+
+class PreloadUserTests(UserTestCase):
+    def test_anonymous_user(self):
+        """anon user is preloaded in json"""
+        with self.settings(_MISAGO_JS_DEBUG=True):
+            response = self.client.get('/misago-preload-data.js')
+            self.assertEqual(response.status_code, 200)
+            self.assertIn('isAuthenticated": false', response.content)
+
+    def test_authenticated_user(self):
+        """auth user is preloaded in json"""
+        self.login_user(self.get_authenticated_user())
+
+        with self.settings(_MISAGO_JS_DEBUG=True):
+            response = self.client.get('/misago-preload-data.js')
+            self.assertEqual(response.status_code, 200)
+            self.assertIn('isAuthenticated": true', response.content)
+            self.assertIn(self.user.username, response.content)