Improved tests for app settings and added tests for dav_base.config.modules.ModuleMeta
Run tests / Execute tox to run the test suite (push) Successful in 3m27s
Run tests / Execute tox to run the test suite (push) Successful in 3m27s
This commit is contained in:
@@ -2,8 +2,10 @@
|
||||
from django.apps import apps
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.test import SimpleTestCase
|
||||
from django.urls import URLResolver
|
||||
|
||||
from ..config.apps import DefaultSetting, AppSettings, AppConfig
|
||||
from ..config.modules import ModuleMeta
|
||||
from ..apps import AppConfig as RealAppConfig
|
||||
|
||||
TEST_SETTING_VALUE = 'do not change this value'
|
||||
@@ -172,9 +174,55 @@ class AppConfigTestCase(SimpleTestCase):
|
||||
|
||||
|
||||
class ModuleMetaTestCase(SimpleTestCase):
|
||||
def test_some(self):
|
||||
# TODO
|
||||
pass
|
||||
def test_init(self):
|
||||
mm = ModuleMeta('dav_base.tests.fake_app1')
|
||||
self.assertEqual(mm.package, 'dav_base.tests.fake_app1')
|
||||
self.assertEqual(mm.app, 'dav_base.tests.fake_app1.apps.AppConfig')
|
||||
self.assertEqual(mm.additional_apps, [])
|
||||
self.assertEqual(mm.url_prefix, 'test')
|
||||
self.assertEqual(mm.url_namespace, 'dav_base_tests_fake_app1')
|
||||
pattern = mm.url_conf_pattern
|
||||
self.assertIsInstance(pattern, URLResolver)
|
||||
self.assertEqual('^test/', str(pattern.pattern))
|
||||
|
||||
def test_cannot_include_urls(self):
|
||||
mm = ModuleMeta('dav_base.tests.fake_app1')
|
||||
dd = {'package': 'dav_base'}
|
||||
mm.load_from_dict(dd)
|
||||
with self.assertRaises(ImproperlyConfigured):
|
||||
_ = mm.url_conf_pattern
|
||||
|
||||
def test_load_from_dict(self):
|
||||
mm = ModuleMeta('dav_base.tests.fake_app1')
|
||||
dd = {'package': 'dav_base2.foo',
|
||||
'app_config': 'MyApp.MyAppConfig',
|
||||
'additional_apps': ['test1', 'test2.subtest'],
|
||||
'url_prefix': 'test_url_prefix',
|
||||
}
|
||||
mm.load_from_dict(dd)
|
||||
self.assertEqual(mm.package, dd['package'])
|
||||
self.assertEqual(mm.app, dd['app_config'])
|
||||
self.assertEqual(mm.additional_apps, dd['additional_apps'])
|
||||
self.assertEqual(mm.url_prefix, dd['url_prefix'])
|
||||
self.assertEqual(mm.url_namespace, dd['package'].replace('.', '_'))
|
||||
|
||||
dd = {'package': 'dav_base2.bar'}
|
||||
mm.load_from_dict(dd)
|
||||
self.assertEqual(mm.url_prefix, dd['package'])
|
||||
self.assertEqual(mm.app, dd['package'])
|
||||
self.assertEqual(mm.additional_apps, [])
|
||||
self.assertEqual(mm.url_prefix, dd['package'])
|
||||
|
||||
def test_dump_as_dict(self):
|
||||
mm = ModuleMeta('dav_base.tests.fake_app1')
|
||||
dd_in = {'package': 'dav_base2.foo',
|
||||
'app_config': '.mymod.MyAppConfig',
|
||||
'additional_apps': ['test1'],
|
||||
'url_prefix': 'test_url_prefix',
|
||||
}
|
||||
mm.load_from_dict(dd_in)
|
||||
dd_out = mm.dump_as_dict()
|
||||
self.assertEqual(dd_in, dd_out)
|
||||
|
||||
|
||||
class ModuleConfigTestCase(SimpleTestCase):
|
||||
|
||||
Reference in New Issue
Block a user