Add tests to core

This commit is contained in:
Peter Inglesby 2013-05-18 18:28:31 +02:00
parent 5fb94b69be
commit 5223c188c3
3 changed files with 42 additions and 1 deletions

View file

@ -1,5 +1,6 @@
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.utils.importlib import import_module
@ -16,12 +17,17 @@ class Admin2(object):
self.app_name = app_name
def register(self, model, modeladmin=None, **kwargs):
if model in self.registry:
raise ImproperlyConfigured
if not modeladmin:
modeladmin = models.ModelAdmin2
self.registry[model] = modeladmin(model, **kwargs)
def deregister(self, model):
del self.registry[model]
try:
del self.registry[model]
except KeyError:
raise ImproperlyConfigured
def autodiscover(self):
apps = []

View file

@ -1,3 +1,4 @@
from test_models import *
from test_utils import *
from test_views import *
from test_core import *

View file

@ -0,0 +1,34 @@
import unittest
from django.db import models
from django.core.exceptions import ImproperlyConfigured
from ..models import ModelAdmin2
from ..core import Admin2
class Thing(models.Model):
pass
class Admin2Test(unittest.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(2, len(self.admin2.get_urls()))