This repository has been archived by the owner on May 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
apps.py
50 lines (43 loc) · 1.9 KB
/
apps.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# coding=utf-8
from django.test import TestCase
from django.contrib.auth.models import User
from django.test.client import RequestFactory
import xadmin
import adminx
# based on xadmin's TestCase
class AppConfigTest(TestCase):
def setUp(self):
self.factory = RequestFactory()
self.test_view_class = xadmin.site.get_view_class(
xadmin.views.CommAdminView)
self.test_view = self.test_view_class(
self._mocked_request('test/comm'))
def test_get_menu(self):
generated_menu = self.test_view.get_apps_menu()
self.assertEqual(generated_menu,
{'app:testapp': {
'menus': [
{'url': '/admin/testapp/testurl/', 'title': u'Test URL',
'order': '', 'perm': None, 'icon': 'bolt'}],
'first_icon': 'test', 'title': 'Test App'}})
final_menu = self.test_view.get_nav_menu()
self.assertEqual(
final_menu,
[{'menus': [
{'url': '/tests/modela/', 'icon': None, 'order': 1,
'perm': 'tests.view_modela', 'title': u'Model as'},
{'url': '/admin/testapp/testurl/', 'title': u'Test URL',
'order': '', 'perm': None, 'icon': 'bolt'}],
'first_icon': 'test', 'first_url': '/tests/modela/',
'title': 'Test App'},
{'menus': [
{'url': '/tests/modelb/', 'icon': None, 'order': 2,
'perm': 'tests.view_modelb', 'title': u'Model bs'}],
'first_url': '/tests/modelb/', 'title': u'Tests'}])
def _create_superuser(self, username):
return User.objects.create(username=username, is_superuser=True)
def _mocked_request(self, url, user='admin'):
request = self.factory.get(url)
request.user = isinstance(user, User) and user or self._create_superuser(user)
request.session = {}
return request