dynamicweb/cms/tests/test_settings.py

53 lines
1.8 KiB
Python

from classytags.utils import flatten_context
from django.core.exceptions import ImproperlyConfigured
from django.template.loader import render_to_string
from django.test.utils import override_settings
from cms import constants
from cms.test_utils.testcases import CMSTestCase
from cms.utils.conf import get_cms_setting
class SettingsTests(CMSTestCase):
@override_settings(
CMS_TEMPLATES=[('subdir/template.html', 'Subdir')],
DEBUG=True,
TEMPLATE_DEBUG=True,
)
def test_cms_templates_with_pathsep(self):
from sekizai.context import SekizaiContext
context = flatten_context(SekizaiContext())
self.assertEqual(render_to_string('subdir/template.html', context).strip(), 'test')
@override_settings(SITE_ID='broken')
def test_non_numeric_site_id(self):
self.assertRaises(
ImproperlyConfigured,
get_cms_setting, 'LANGUAGES'
)
@override_settings(LANGUAGE_CODE='en-us')
def test_invalid_language_code(self):
self.assertRaises(
ImproperlyConfigured,
get_cms_setting, 'LANGUAGES'
)
@override_settings(CMS_TEMPLATE_INHERITANCE=True)
def test_create_page_with_inheritance_override(self):
for template in get_cms_setting('TEMPLATES'):
if (template[0] == constants.TEMPLATE_INHERITANCE_MAGIC):
return
self.assertRaises(
ImproperlyConfigured,
get_cms_setting, 'TEMPLATES'
)
@override_settings(CMS_TEMPLATE_INHERITANCE=False)
def test_create_page_without_inheritance_override(self):
for template in get_cms_setting('TEMPLATES'):
if (template[0] == constants.TEMPLATE_INHERITANCE_MAGIC):
self.assertRaises(
ImproperlyConfigured,
get_cms_setting, 'TEMPLATES'
)