63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
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
|
|
)
|