django1/django/contrib/databrowse/tests.py

63 lines
2.0 KiB
Python
Raw Normal View History

from django.contrib import databrowse
from django.db import models
from django.test import TestCase
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class SomeModel(models.Model):
some_field = models.CharField(max_length=50)
def __str__(self):
return self.some_field
@python_2_unicode_compatible
class SomeOtherModel(models.Model):
some_other_field = models.CharField(max_length=50)
def __str__(self):
return self.some_other_field
@python_2_unicode_compatible
class YetAnotherModel(models.Model):
yet_another_field = models.CharField(max_length=50)
def __str__(self):
return self.yet_another_field
class DatabrowseTests(TestCase):
def test_databrowse_register_unregister(self):
databrowse.site.register(SomeModel)
self.assertTrue(SomeModel in databrowse.site.registry)
databrowse.site.register(SomeOtherModel, YetAnotherModel)
self.assertTrue(SomeOtherModel in databrowse.site.registry)
self.assertTrue(YetAnotherModel in databrowse.site.registry)
self.assertRaisesMessage(
databrowse.sites.AlreadyRegistered,
'The model SomeModel is already registered',
databrowse.site.register, SomeModel, SomeOtherModel
)
databrowse.site.unregister(SomeOtherModel)
self.assertFalse(SomeOtherModel in databrowse.site.registry)
databrowse.site.unregister(SomeModel, YetAnotherModel)
self.assertFalse(SomeModel in databrowse.site.registry)
self.assertFalse(YetAnotherModel in databrowse.site.registry)
self.assertRaisesMessage(
databrowse.sites.NotRegistered,
'The model SomeModel is not registered',
databrowse.site.unregister, SomeModel, SomeOtherModel
)
self.assertRaisesMessage(
databrowse.sites.AlreadyRegistered,
'The model SomeModel is already registered',
databrowse.site.register, SomeModel, SomeModel
)