|
@@ -1,7 +1,9 @@
|
|
|
+from datetime import datetime, date
|
|
|
import json
|
|
|
+from django.contrib.admin import AdminSite
|
|
|
from django.test import TestCase
|
|
|
from jet.tests.models import TestModel
|
|
|
-from jet.utils import JsonResponse, get_model_instance_label
|
|
|
+from jet.utils import JsonResponse, get_model_instance_label, get_app_list, get_admin_site, LazyDateTimeEncoder
|
|
|
|
|
|
|
|
|
class UtilsTestCase(TestCase):
|
|
@@ -18,5 +20,51 @@ class UtilsTestCase(TestCase):
|
|
|
pinned_application = TestModel.objects.create(field1=field1, field2=field2)
|
|
|
self.assertEqual(get_model_instance_label(pinned_application), '%s%d' % (field1, field2))
|
|
|
|
|
|
+ def test_get_app_list(self):
|
|
|
+ class User:
|
|
|
+ is_active = True
|
|
|
+ is_staff = True
|
|
|
|
|
|
+ def has_module_perms(self, app):
|
|
|
+ return True
|
|
|
+
|
|
|
+ def has_perm(self, object):
|
|
|
+ return True
|
|
|
+
|
|
|
+ class Request:
|
|
|
+ user = User()
|
|
|
+
|
|
|
+ app_list = get_app_list({
|
|
|
+ 'request': Request(),
|
|
|
+ 'user': None
|
|
|
+ })
|
|
|
+
|
|
|
+ self.assertIsInstance(app_list, list)
|
|
|
+
|
|
|
+ for app in app_list:
|
|
|
+ self.assertIsInstance(app, dict)
|
|
|
+ self.assertIsNotNone(app, app.get('models'))
|
|
|
+ self.assertIsNotNone(app, app.get('app_url'))
|
|
|
+ self.assertIsNotNone(app, app.get('app_label'))
|
|
|
+
|
|
|
+ for model in app['models']:
|
|
|
+ self.assertIsNotNone(app, model.get('object_name'))
|
|
|
+ self.assertIsNotNone(app, model.get('name'))
|
|
|
+
|
|
|
+ def test_get_admin_site(self):
|
|
|
+ admin_site = get_admin_site('')
|
|
|
+ self.assertIsInstance(admin_site, AdminSite)
|
|
|
+
|
|
|
+ def test_lazy_date_time_encoder_dates(self):
|
|
|
+ encoder = LazyDateTimeEncoder()
|
|
|
+
|
|
|
+ ts = datetime.now()
|
|
|
+ self.assertEqual(encoder.encode(ts), '"%s"' % ts.isoformat())
|
|
|
+
|
|
|
+ ts = date(2015, 5, 3)
|
|
|
+ self.assertEqual(encoder.encode(ts), '"%s"' % ts.isoformat())
|
|
|
+
|
|
|
+ def test_lazy_date_time_encoder_dict(self):
|
|
|
+ encoder = LazyDateTimeEncoder()
|
|
|
+ self.assertEqual(encoder.encode({'key': 1}), '{"key": 1}')
|
|
|
|