def test_wizard_duplicate_slug(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() cat_2 = BlogCategory.objects.create(name="category 1 - blog 2", app_config=self.app_config_2) with current_user(self.user_staff): wiz = None for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == "New Blog": break form = wiz.form( data=self.get_querydict({ "1-title": "title article", "1-abstract": "abstract article", "1-categories": self.category_1.pk }), prefix=1, ) self.assertEqual(form.default_appconfig, self.app_config_1.pk) self.assertTrue(form.is_valid()) instance1 = form.save() self.assertEqual(instance1.slug, "title-article") form = wiz.form( data=self.get_querydict({ "1-title": "title article", "1-abstract": "abstract article", "1-categories": self.category_1.pk }), prefix=1, ) self.assertEqual(form.default_appconfig, self.app_config_1.pk) self.assertTrue(form.is_valid()) instance2 = form.save() self.assertEqual(instance2.slug, "title-article-1") for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == "New Article": break form = wiz.form( data=self.get_querydict({ "1-title": "title article", "1-abstract": "abstract article", "1-categories": cat_2.pk }), prefix=1, ) self.assertEqual(form.default_appconfig, self.app_config_2.pk) self.assertTrue(form.is_valid()) instance3 = form.save() self.assertEqual(instance3.slug, "title-article-2")
def test_wizard_duplicate_slug(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() cat_2 = BlogCategory.objects.create(name='category 1 - blog 2', app_config=self.app_config_2) with current_user(self.user_staff): wiz = None for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == 'New Blog': break form = wiz.form(data={ '1-title': 'title article', '1-abstract': 'abstract article', '1-categories': [self.category_1.pk], }, prefix=1) self.assertEqual(form.default_appconfig, self.app_config_1.pk) self.assertTrue(form.is_valid()) instance1 = form.save() self.assertEqual(instance1.slug, 'title-article') form = wiz.form(data={ '1-title': 'title article', '1-abstract': 'abstract article', '1-categories': [self.category_1.pk], }, prefix=1) self.assertEqual(form.default_appconfig, self.app_config_1.pk) self.assertTrue(form.is_valid()) instance2 = form.save() self.assertEqual(instance2.slug, 'title-article-1') for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == 'New Article': break form = wiz.form(data={ '1-title': 'title article', '1-abstract': 'abstract article', '1-categories': [cat_2.pk], }, prefix=1) self.assertEqual(form.default_appconfig, self.app_config_2.pk) self.assertTrue(form.is_valid()) instance3 = form.save() self.assertEqual(instance3.slug, 'title-article-2')
def test_repr(self): page_wizard = [ entry for entry in wizard_pool.get_entries() if isinstance(entry, CMSPageWizard) ][0] self.assertIn("cms.cms_wizards.CMSPageWizard", repr(page_wizard)) self.assertIn("id={}".format(page_wizard.id), repr(page_wizard)) self.assertIn(hex(id(page_wizard)), repr(page_wizard))
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)
def test_wizard_init(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() cat_1 = BlogCategory.objects.create(name='category 1 - blog 1', app_config=self.app_config_1) cat_2 = BlogCategory.objects.create(name='category 1 - blog 2', app_config=self.app_config_2) cats = { self.app_config_1.pk: cat_1, self.app_config_2.pk: cat_2, } with current_user(self.user_staff): wizs = [ entry for entry in wizard_pool.get_entries() if entry.model == Post ] for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk form = wiz.form() self.assertTrue(form.initial.get('app_config', False), app_config) self.assertTrue( form.fields['app_config'].widget.attrs['disabled']) form = wiz.form(data={ '1-title': 'title{0}'.format(index), '1-abstract': 'abstract{0}'.format(index), '1-categories': [cats[app_config].pk], }, prefix=1) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['app_config'].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_staff) with self.settings(BLOG_AUTHOR_DEFAULT='normal'): for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk form = wiz.form(data={ '1-title': 'title-2{0}'.format(index), '1-abstract': 'abstract-2{0}'.format(index), '1-categories': [cats[app_config].pk], }, prefix=1) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['app_config'].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_normal)
def test_wizard_init(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() cat_1 = BlogCategory.objects.create(name="category 1 - blog 1", app_config=self.app_config_1) cat_2 = BlogCategory.objects.create(name="category 1 - blog 2", app_config=self.app_config_2) cats = { self.app_config_1.pk: cat_1, self.app_config_2.pk: cat_2, } with current_user(self.user_staff): wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post] for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == "New Blog" else self.app_config_2.pk form = wiz.form() self.assertTrue(form.initial.get("app_config", False), app_config) self.assertTrue(form.fields["app_config"].widget.attrs["disabled"]) form = wiz.form( data=self.get_querydict( { "1-title": "title{}".format(index), "1-abstract": "abstract{}".format(index), "1-categories": cats[app_config].pk, } ), prefix=1, ) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data["app_config"].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_staff) with self.settings(BLOG_AUTHOR_DEFAULT="normal"): for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == "New Blog" else self.app_config_2.pk form = wiz.form( data=self.get_querydict( { "1-title": "title-2{}".format(index), "1-abstract": "abstract-2{}".format(index), "1-categories": cats[app_config].pk, } ), prefix=1, ) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data["app_config"].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_normal)
def test_get_entries(self): """ Test that the registered entries are returned in weight-order, no matter which order they were added. """ wizard_pool._clear() wizard_pool.register(self.page_wizard) wizard_pool.register(self.user_settings_wizard) wizards = [self.page_wizard, self.user_settings_wizard] wizards = sorted(wizards, key=lambda e: getattr(e, 'weight')) entries = wizard_pool.get_entries() self.assertSequencesEqual(entries, wizards) wizard_pool._clear() wizard_pool.register(self.user_settings_wizard) wizard_pool.register(self.page_wizard) wizards = [self.page_wizard, self.user_settings_wizard] wizards = sorted(wizards, key=lambda e: getattr(e, 'weight')) entries = wizard_pool.get_entries() self.assertSequencesEqual(entries, wizards)
def test_wizard_init(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() cat_1 = BlogCategory.objects.create(name='category 1 - blog 1', app_config=self.app_config_1) cat_2 = BlogCategory.objects.create(name='category 1 - blog 2', app_config=self.app_config_2) cats = { self.app_config_1.pk: cat_1, self.app_config_2.pk: cat_2, } with current_user(self.user_staff): wizs = [entry for entry in wizard_pool.get_entries() if entry.model == Post] for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk form = wiz.form() self.assertTrue(form.initial.get('app_config', False), app_config) self.assertTrue(form.fields['app_config'].widget.attrs['disabled']) form = wiz.form(data={ '1-title': 'title{0}'.format(index), '1-abstract': 'abstract{0}'.format(index), '1-categories': [cats[app_config].pk], }, prefix=1) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['app_config'].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_staff) with self.settings(BLOG_AUTHOR_DEFAULT='normal'): for index, wiz in enumerate(wizs): app_config = self.app_config_1.pk if wiz.title == 'New Blog' else self.app_config_2.pk form = wiz.form(data={ '1-title': 'title-2{0}'.format(index), '1-abstract': 'abstract-2{0}'.format(index), '1-categories': [cats[app_config].pk], }, prefix=1) self.assertEqual(form.default_appconfig, app_config) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data['app_config'].pk, app_config) instance = form.save() self.assertEqual(instance.author, self.user_normal)
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] 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() 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()) self.assertTrue(form.cleaned_data['app_config'], app_config)
def test_wizard_init_categories_check(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() with current_user(self.user_staff): wiz = None for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == 'New Article': break form = wiz.form(data=self.get_querydict({ '1-title': 'title article', '1-abstract': 'abstract article', '1-categories': self.category_1.pk, }), prefix=1) self.assertEqual(form.default_appconfig, self.app_config_2.pk) self.assertFalse(form.is_valid()) self.assertTrue('categories' in form.errors.keys())
def test_wizard_init_categories_check(self): from cms.utils.permissions import current_user from cms.wizards.wizard_pool import wizard_pool from djangocms_blog.models import Post self.get_pages() with current_user(self.user_staff): wiz = None for wiz in wizard_pool.get_entries(): if wiz.model == Post and wiz.title == 'New Article': break form = wiz.form(data={ '1-title': 'title article', '1-abstract': 'abstract article', '1-categories': [self.category_1.pk], }, prefix=1) self.assertEqual(form.default_appconfig, self.app_config_2.pk) self.assertFalse(form.is_valid()) self.assertTrue('categories' in form.errors.keys())
def populate(self): #admin_menu.disabled=True #print(self.toolbar.find_items(Menu, name="Local")[0].item.name) ''' language_menu = self.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER ) language_menu.disabled=True print(language_menu) page = self.toolbar.get_menu(PAGE_MENU_IDENTIFIER ) page.disabled=True print(page) ''' #eliminando el wizzard for wizard in wizard_pool.get_entries(): if wizard.title == "New Article": wizard_pool.unregister(wizard)
def test_str(self): page_wizard = [ entry for entry in wizard_pool.get_entries() if isinstance(entry, CMSPageWizard) ][0] self.assertEqual(str(page_wizard), page_wizard.title)