2015-10-25 15:22:13 +00:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
|
|
|
2015-10-25 17:56:00 +00:00
|
|
|
import sys
|
2015-10-25 15:22:13 +00:00
|
|
|
from distutils.version import LooseVersion
|
|
|
|
|
|
|
|
import cms
|
|
|
|
|
|
|
|
from .base import BaseTest
|
|
|
|
|
|
|
|
try:
|
|
|
|
from unittest import skipIf
|
|
|
|
except ImportError:
|
|
|
|
from unittest2 import skipIf
|
|
|
|
|
|
|
|
|
|
|
|
class WizardTest(BaseTest):
|
|
|
|
|
2015-10-25 17:56:00 +00:00
|
|
|
def setUp(self):
|
|
|
|
try:
|
|
|
|
from cms.wizards.wizard_pool import wizard_pool
|
|
|
|
delete = [
|
|
|
|
'djangocms_blog',
|
|
|
|
'djangocms_blog.cms_wizards',
|
|
|
|
]
|
|
|
|
for module in delete:
|
|
|
|
if module in sys.modules:
|
|
|
|
del sys.modules[module]
|
|
|
|
wizard_pool._reset()
|
|
|
|
except ImportError:
|
|
|
|
# Not in django CMS 3.2+, no cleanup needed
|
|
|
|
pass
|
|
|
|
|
2015-10-25 15:22:13 +00:00
|
|
|
@skipIf(LooseVersion(cms.__version__) < LooseVersion('3.2'),
|
|
|
|
reason='Wizards not available for django CMS < 3.2')
|
|
|
|
def test_wizard(self):
|
|
|
|
"""
|
|
|
|
Test that Blog wizard is present and contains all items
|
|
|
|
"""
|
|
|
|
from cms.wizards.wizard_pool import wizard_pool
|
|
|
|
self.get_pages()
|
|
|
|
|
|
|
|
titles = [entry.title for entry in wizard_pool.get_entries()]
|
|
|
|
self.assertTrue('New Blog' in titles)
|
|
|
|
self.assertTrue('New Article' in titles)
|
2015-10-25 17:14:19 +00:00
|
|
|
|
|
|
|
@skipIf(LooseVersion(cms.__version__) < LooseVersion('3.2'),
|
|
|
|
reason='Wizards not available for django CMS < 3.2')
|
|
|
|
def test_wizard_init(self):
|
|
|
|
from cms.wizards.wizard_pool import wizard_pool
|
|
|
|
from djangocms_blog.models import Post
|
|
|
|
self.get_pages()
|
|
|
|
|
|
|
|
wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post]
|
2015-10-25 17:56:00 +00:00
|
|
|
for wiz in wizs:
|
|
|
|
app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk
|
|
|
|
form = wiz.form()
|
2015-10-25 17:14:19 +00:00
|
|
|
self.assertTrue(form.fields['app_config'].widget.attrs['disabled'])
|
|
|
|
|
|
|
|
form = wiz.form(data={
|
|
|
|
'1-title': 'title',
|
|
|
|
'1-abstract': 'abstract',
|
|
|
|
'1-categories': [self.category_1.pk],
|
|
|
|
}, prefix=1)
|
|
|
|
self.assertEqual(form.default_appconfig, app_config)
|
|
|
|
self.assertTrue(form.is_valid())
|
2015-10-25 17:56:00 +00:00
|
|
|
self.assertTrue(form.cleaned_data['app_config'], app_config)
|
2015-10-25 17:14:19 +00:00
|
|
|
|
|
|
|
def test_wizard_import(self):
|
|
|
|
# The following import should to fail in any django CMS version
|
|
|
|
from djangocms_blog import cms_wizards # NOQA
|