| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | from django.contrib.auth.models import Userfrom django.core.urlresolvers import reversefrom django.test import TestCase, Clientfrom jet.dashboard.dashboard import Dashboardfrom jet.dashboard.modules import LinkList, RecentActionsfrom jet.dashboard.models import UserDashboardModulefrom jet.tests.dashboard import TestIndexDashboardclass DashboardTestCase(TestCase):    class Request:        def __init__(self, user):            self.user = user    def setUp(self):        self._login()        self._init_dashboard()    def _login(self):        username = 'admin'        email = 'admin@example.com'        password = 'admin'        self.admin = Client()        self.admin_user = User.objects.create_superuser(username, email, password)        return self.admin.login(username=username, password=password)    def _init_dashboard(self):        UserDashboardModule.objects.create(            title='',            module='jet.dashboard.modules.LinkList',            app_label=None,            user=self.admin_user.pk,            column=0,            order=0        )        UserDashboardModule.objects.create(            title='',            module='jet.dashboard.modules.RecentActions',            app_label=None,            user=self.admin_user.pk,            column=0,            order=1        )        self.dashboard = TestIndexDashboard({'request': self.Request(self.admin_user)})    def test_custom_columns(self):        self.assertEqual(self.dashboard.columns, 3)    def test_init_with_context_called(self):        self.assertTrue(self.dashboard.init_with_context_called)    def test_load_modules(self):        self.assertEqual(len(self.dashboard.modules), 2)        self.assertTrue(isinstance(self.dashboard.modules[0], LinkList))        self.assertTrue(isinstance(self.dashboard.modules[1], RecentActions))    def test_media(self):        media = self.dashboard.media()        self.assertEqual(len(media.js), 2)        self.assertEqual(media.js[0], 'file.js')        self.assertEqual(media.js[1], 'file2.js')        self.assertEqual(len(media.css), 2)        self.assertEqual(media.css[0], 'file.css')        self.assertEqual(media.css[1], 'file2.css')    def test_index_dashboard_view(self):        response = self.admin.get(reverse('admin:index'))        self.assertEqual(response.status_code, 200)        self.assertTrue('dashboard' in response.context)        dashboard = response.context['dashboard']        self.assertIsInstance(dashboard, Dashboard)        self.assertIsNone(dashboard.app_label)    def test_app_index_dashboard_view(self):        app_label = 'tests'        response = self.admin.get(reverse('admin:app_list', args=(app_label,)))        self.assertEqual(response.status_code, 200)        self.assertTrue('dashboard' in response.context)        dashboard = response.context['dashboard']        self.assertIsInstance(dashboard, Dashboard)        self.assertEqual(dashboard.app_label, app_label)
 |