Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

test_nav.py 1.1KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.test import TestCase
  2. from oscar.apps.dashboard.menu import get_nodes
  3. from oscar.apps.dashboard.nav import default_access_fn
  4. from oscar.test.factories import UserFactory
  5. class DashboardAccessFunctionTestCase(TestCase):
  6. def setUp(self):
  7. self.staff_user = UserFactory(is_staff=True)
  8. self.non_staff_user = UserFactory()
  9. def test_default_access_fn_no_url_name(self):
  10. self.assertTrue(default_access_fn(self.staff_user, None))
  11. def test_default_access_fn_staff(self):
  12. self.assertTrue(default_access_fn(self.staff_user, 'dashboard:index'))
  13. def test_default_access_fn_non_staff_user(self):
  14. self.assertFalse(default_access_fn(self.non_staff_user, 'dashboard:index'))
  15. def test_default_access_fn_invalid_url_name(self):
  16. self.assertFalse(default_access_fn(self.staff_user, 'invalid_module:index'))
  17. class DashboardNavTestCase(TestCase):
  18. def test_staff_user_has_menu(self):
  19. menu = get_nodes(UserFactory(is_staff=True))
  20. self.assertTrue(menu)
  21. def test_non_staff_user_has_empty_menu(self):
  22. menu = get_nodes(UserFactory())
  23. self.assertEqual(menu, [])