1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- from django.contrib.auth.models import User
- try:
- from django.core.urlresolvers import reverse
- except ImportError: # Django 1.11
- from django.urls import reverse
- from django.test import TestCase, Client
- from jet.dashboard.dashboard import Dashboard
- from jet.dashboard.modules import LinkList, RecentActions
- from jet.dashboard.models import UserDashboardModule
- from jet.tests.dashboard import TestIndexDashboard
- class 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)
|