django-admin2/djadmin2/tests/test_core.py
Kamil Gałuszka b341d763f0 many fixes to django-admin2 with py3
and django 1.7 compatybility
2014-10-10 22:19:02 -05:00

74 lines
2.4 KiB
Python

from django.db import models
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase
from django.contrib.auth.models import Group, User
from django.contrib.sites.models import Site
import djadmin2
from ..types import ModelAdmin2
from ..core import Admin2
class SmallThing(models.Model):
pass
APP_LABEL, APP_VERBOSE_NAME = 'app_one_label', 'App One Verbose Name'
class Admin2Test(TestCase):
def setUp(self):
self.admin2 = Admin2()
def test_register(self):
self.admin2.register(SmallThing)
self.assertTrue(isinstance(self.admin2.registry[SmallThing], ModelAdmin2))
def test_register_error(self):
self.admin2.register(SmallThing)
self.assertRaises(ImproperlyConfigured, self.admin2.register, SmallThing)
def test_deregister(self):
self.admin2.register(SmallThing)
self.admin2.deregister(SmallThing)
self.assertTrue(SmallThing not in self.admin2.registry)
def test_deregister_error(self):
self.assertRaises(ImproperlyConfigured, self.admin2.deregister, SmallThing)
def test_register_app_verbose_name(self):
self.admin2.register_app_verbose_name(APP_LABEL, APP_VERBOSE_NAME)
self.assertEquals(
self.admin2.app_verbose_names[APP_LABEL],
APP_VERBOSE_NAME
)
def test_register_app_verbose_name_error(self):
self.admin2.register_app_verbose_name(APP_LABEL, APP_VERBOSE_NAME)
self.assertRaises(
ImproperlyConfigured,
self.admin2.register_app_verbose_name,
APP_LABEL,
APP_VERBOSE_NAME
)
def test_deregister_app_verbose_name(self):
self.admin2.register_app_verbose_name(APP_LABEL, APP_VERBOSE_NAME)
self.admin2.deregister_app_verbose_name(APP_LABEL)
self.assertTrue(APP_LABEL not in self.admin2.app_verbose_names)
def test_deregister_app_verbose_name_error(self):
self.assertRaises(
ImproperlyConfigured,
self.admin2.deregister_app_verbose_name,
APP_LABEL
)
def test_get_urls(self):
self.admin2.register(SmallThing)
self.assertEquals(8, len(self.admin2.get_urls()))
def test_default_entries(self):
expected_default_models = (User, Group, Site)
for model in expected_default_models:
self.assertTrue(isinstance(djadmin2.default.registry[model], ModelAdmin2))