| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 | 
							- import json
 
- from django.contrib.auth.models import User
 
- from django.core.urlresolvers import reverse
 
- from django.test import TestCase, Client
 
- from jet.dashboard.modules import LinkList
 
- from jet.models import Bookmark
 
- from jet.dashboard.models import UserDashboardModule
 
- class ViewsTestCase(TestCase):
 
-     def setUp(self):
 
-         self.assertTrue(self._login())
 
-     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 test_module_update_view(self):
 
-         title = 'Quick links Test'
 
-         new_title = title + '2'
 
-         new_layout = 'stacked'
 
-         module = UserDashboardModule.objects.create(
 
-             title=title,
 
-             module='jet.dashboard.modules.LinkList',
 
-             app_label=None,
 
-             user=self.admin_user.pk,
 
-             column=0,
 
-             order=0,
 
-             settings='{"layout": "inline"}',
 
-             children='[]'
 
-         )
 
-         response = self.admin.get(reverse('jet-dashboard:update_module', kwargs={'pk': module.pk}))
 
-         self.assertEqual(response.status_code, 200)
 
-         self.assertTrue(response.context['module'] is not None)
 
-         self.assertTrue(isinstance(response.context['module'], LinkList))
 
-         self.assertEqual(response.context['module'].title, title)
 
-         post = {
 
-             'title': new_title,
 
-             'layout': new_layout,
 
-             'children-TOTAL_FORMS': '2',
 
-             'children-INITIAL_FORMS': '1',
 
-             'children-MIN_NUM_FORMS': '0',
 
-             'children-MAX_NUM_FORMS': '1000',
 
-             'children-0-url': 'http://docs.djangoproject.com/',
 
-             'children-0-title': 'Django documentation',
 
-             'children-0-external': 'on',
 
-             'children-1-url': '',
 
-             'children-1-title': '',
 
-             'children-__prefix__-url': '',
 
-             'children-__prefix__-title': '',
 
-             '_save': 'Save'
 
-         }
 
-         self.admin.post(reverse('jet-dashboard:update_module', kwargs={'pk': module.pk}), post)
 
-         self.assertEqual(response.status_code, 200)
 
-         module = UserDashboardModule.objects.get(pk=module.pk)
 
-         settings = json.loads(module.settings)
 
-         self.assertEqual(module.title, new_title)
 
-         self.assertEqual(settings['layout'], new_layout)
 
-         module.delete()
 
-     def test_add_bookmark_view(self):
 
-         url = 'http://test.com/'
 
-         title = 'Title'
 
-         response = self.admin.post(reverse('jet:add_bookmark'), {'url': url, 'title': title})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertNotEqual(response['id'], None)
 
-         bookmark = Bookmark.objects.get(pk=response['id'])
 
-         self.assertNotEqual(bookmark, None)
 
-         self.assertEqual(bookmark.title, title)
 
-         self.assertEqual(bookmark.url, url)
 
-     def test_add_bookmark_view_unauthorized(self):
 
-         url = 'http://test.com/'
 
-         title = 'Title'
 
-         response = self.client.post(reverse('jet:add_bookmark'), {'url': url, 'title': title})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertTrue(response['error'])
 
-     def test_remove_bookmark_view(self):
 
-         url = 'http://test.com/'
 
-         title = 'Title'
 
-         bookmark = Bookmark.objects.create(url=url, title=title, user=self.admin_user.pk)
 
-         response = self.admin.post(reverse('jet:remove_bookmark'), {'id': bookmark.id})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertFalse(Bookmark.objects.filter(pk=bookmark.pk).exists())
 
-     def test_toggle_application_pin_view(self):
 
-         app_label = 'test_app'
 
-         response = self.admin.post(reverse('jet:toggle_application_pin'), {'app_label': app_label})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertTrue(response['pinned'])
 
-         response = self.admin.post(reverse('jet:toggle_application_pin'), {'app_label': app_label})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertFalse(response['pinned'])
 
-     def test_update_dashboard_modules_view(self):
 
-         app_label = None
 
-         module_0 = UserDashboardModule.objects.create(
 
-             title='',
 
-             module='jet.dashboard.modules.LinkList',
 
-             app_label=app_label,
 
-             user=self.admin_user.pk,
 
-             column=0,
 
-             order=0
 
-         )
 
-         module_1 = UserDashboardModule.objects.create(
 
-             title='',
 
-             module='jet.dashboard.modules.LinkList',
 
-             app_label=app_label,
 
-             user=self.admin_user.pk,
 
-             column=0,
 
-             order=1
 
-         )
 
-         response = self.admin.post(reverse('jet-dashboard:update_dashboard_modules'), {
 
-             'app_label': '',
 
-             'modules': json.dumps([
 
-                 {'id': module_0.pk, 'column': 0, 'order': 1},
 
-                 {'id': module_1.pk, 'column': 0, 'order': 0}
 
-             ])
 
-         })
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         module_0 = UserDashboardModule.objects.get(pk=module_0.pk)
 
-         module_1 = UserDashboardModule.objects.get(pk=module_1.pk)
 
-         self.assertEqual(module_0.order, 1)
 
-         self.assertEqual(module_1.order, 0)
 
-         module_0.delete()
 
-         module_1.delete()
 
-     def test_add_user_dashboard_module_view(self):
 
-         response = self.admin.post(reverse('jet-dashboard:add_user_dashboard_module'), {
 
-             'app_label': '',
 
-             'type': 'available_children',
 
-             'module': 0
 
-         })
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertNotEqual(response['id'], None)
 
-         module = UserDashboardModule.objects.get(pk=response['id'])
 
-         self.assertNotEqual(module, None)
 
-     def test_add_user_app_dashboard_module_view(self):
 
-         app_label = 'auth'
 
-         response = self.admin.post(reverse('jet-dashboard:add_user_dashboard_module'), {
 
-             'app_label': app_label,
 
-             'type': 'available_children',
 
-             'module': 0
 
-         })
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertNotEqual(response['id'], None)
 
-         module = UserDashboardModule.objects.get(pk=response['id'])
 
-         self.assertNotEqual(module, None)
 
-         self.assertEqual(module.app_label, app_label)
 
-     def test_update_dashboard_module_collapse_view(self):
 
-         module = UserDashboardModule.objects.create(
 
-             title='',
 
-             module='jet.dashboard.modules.LinkList',
 
-             app_label=None,
 
-             user=self.admin_user.pk,
 
-             column=0,
 
-             order=0
 
-         )
 
-         response = self.admin.post(reverse('jet-dashboard:update_dashboard_module_collapse'), {
 
-             'id': module.pk, 'collapsed': True
 
-         })
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertTrue(response['collapsed'])
 
-         module = UserDashboardModule.objects.get(pk=module.pk)
 
-         response = self.admin.post(reverse('jet-dashboard:update_dashboard_module_collapse'), {
 
-             'id': module.pk, 'collapsed': False
 
-         })
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertFalse(response['collapsed'])
 
-         module.delete()
 
-     def test_remove_dashboard_module_view(self):
 
-         module = UserDashboardModule.objects.create(
 
-             title='',
 
-             module='jet.dashboard.modules.LinkList',
 
-             app_label=None,
 
-             user=self.admin_user.pk,
 
-             column=0,
 
-             order=0
 
-         )
 
-         response = self.admin.post(reverse('jet-dashboard:remove_dashboard_module'), {'id': module.pk})
 
-         self.assertEqual(response.status_code, 200)
 
-         response = json.loads(response.content.decode())
 
-         self.assertFalse(response['error'])
 
-         self.assertFalse(UserDashboardModule.objects.filter(pk=module.pk).exists())
 
 
  |