django-admin2/djadmin2/tests/test_core.py
Daniel Greenfeld fa94f81e7f Merge
2013-07-06 11:36:42 +02:00

69 lines
1.8 KiB
Python

from django.db import models
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase
from ..types import ModelAdmin2
from ..core import Admin2
from ..actions import get_description
class Thing(models.Model):
pass
class TestAction(object):
description = "Test Action Class"
def test_function():
pass
class Admin2Test(TestCase):
def setUp(self):
self.admin2 = Admin2()
def test_register(self):
self.admin2.register(Thing)
self.assertTrue(isinstance(self.admin2.registry[Thing], ModelAdmin2))
def test_register_error(self):
self.admin2.register(Thing)
self.assertRaises(ImproperlyConfigured, self.admin2.register, Thing)
def test_deregister(self):
self.admin2.register(Thing)
self.admin2.deregister(Thing)
self.assertTrue(Thing not in self.admin2.registry)
def test_deregister_error(self):
self.assertRaises(ImproperlyConfigured, self.admin2.deregister, Thing)
def test_get_urls(self):
self.admin2.register(Thing)
self.assertEquals(8, len(self.admin2.get_urls()))
def test_action_description(self):
self.admin2.register(Thing)
self.admin2.registry[Thing].list_actions.extend([
TestAction,
test_function
])
self.assertEquals(
get_description(
self.admin2.registry[Thing].list_actions[0]
),
'Delete selected items'
)
self.assertEquals(
get_description(
self.admin2.registry[Thing].list_actions[1]
),
'Test Action Class'
)
self.assertEquals(
get_description(
self.admin2.registry[Thing].list_actions[2]
),
'Test function'
)