mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-16 19:21:10 +00:00
Added tests for resolve_model_string
To make sure I don't change its behaviour in the next commit
This commit is contained in:
parent
43641192c2
commit
cf0e17d94c
1 changed files with 42 additions and 0 deletions
|
|
@ -1,7 +1,10 @@
|
|||
import unittest
|
||||
|
||||
from django.test import TestCase
|
||||
from django.core.cache import cache
|
||||
|
||||
from wagtail.wagtailcore.models import Page, Site
|
||||
from wagtail.wagtailcore.utils import resolve_model_string
|
||||
from wagtail.tests.models import SimplePage
|
||||
|
||||
|
||||
|
|
@ -142,3 +145,42 @@ class TestSiteRootPathsCache(TestCase):
|
|||
|
||||
# Check url
|
||||
self.assertEqual(homepage.url, '/')
|
||||
|
||||
|
||||
class TestResolveModelString(TestCase):
|
||||
def test_resolve_from_string(self):
|
||||
model = resolve_model_string('wagtailcore.Page')
|
||||
|
||||
self.assertEqual(model, Page)
|
||||
|
||||
def test_resolve_from_string_with_default_app(self):
|
||||
model = resolve_model_string('Page', default_app='wagtailcore')
|
||||
|
||||
self.assertEqual(model, Page)
|
||||
|
||||
def test_resolve_from_string_with_different_default_app(self):
|
||||
model = resolve_model_string('wagtailcore.Page', default_app='wagtailadmin')
|
||||
|
||||
self.assertEqual(model, Page)
|
||||
|
||||
def test_resolve_from_class(self):
|
||||
model = resolve_model_string(Page)
|
||||
|
||||
self.assertEqual(model, Page)
|
||||
|
||||
def test_resolve_from_string_invalid(self):
|
||||
self.assertRaises(ValueError, resolve_model_string, 'wagtail.wagtailcore.Page')
|
||||
|
||||
def test_resolve_from_string_with_incorrect_default_app(self):
|
||||
self.assertRaises(LookupError, resolve_model_string, 'Page', default_app='wagtailadmin')
|
||||
|
||||
def test_resolve_from_string_with_no_default_app(self):
|
||||
self.assertRaises(ValueError, resolve_model_string, 'Page')
|
||||
|
||||
@unittest.expectedFailure # Raising LookupError instead
|
||||
def test_resolve_from_class_that_isnt_a_model(self):
|
||||
self.assertRaises(ValueError, resolve_model_string, object)
|
||||
|
||||
@unittest.expectedFailure # Raising LookupError instead
|
||||
def test_resolve_from_bad_type(self):
|
||||
self.assertRaises(ValueError, resolve_model_string, resolve_model_string)
|
||||
|
|
|
|||
Loading…
Reference in a new issue