Ejemplo n.º 1
0
                'name': SomeMenu.some_menubutton.__name__,
                'displayname': self.modelform._meta.model._meta.verbose_name,
                'iconurl': '/static/file.ext'
            }, {
                'name': 'some_button',
                'displayname': self.modelform._meta.model._meta.verbose_name,
                'iconurl': None
            }])

        self.assertIn(SomeMenu, state.TOOLBAR)

    def test_menu_baseclass_not_in_toolbar(self):
        """ Menu base class should not be added to toolbar. """
        importlib.reload(register_api)
        self.assertFalse(state.TOOLBAR)


class TestGenericButton(TestShortcodeBase):
    def test_api(self):
        register_api.GenericButton('some_button', self.modelform,
                                   'template.html')

        some_button_obj = state.TOOLBAR.pop()
        self.assertEqual(some_button_obj.name, 'some_button')
        self.assertEqual(some_button_obj.modelform, self.modelform)
        self.assertEqual(some_button_obj.fn.__name__, 'generic_shortcode')


if __name__ == '__main__':
    testutils.test_module('test_register')
Ejemplo n.º 2
0
        expected_result = POST_HTML.format(content='')
        self.assertEqual(result, expected_result)

    def test_richtext_filters_unsafe_string(self):
        instance = models.UnsafeMenubutton.objects.create(entity='nobody')
        instance.save()
        pre_html = textwrap.dedent("""\
            <div
            class='mezzanine-shortcodes'
            data-name='unsafe_menubutton'
            data-pk='{pk}'
            >""".format(pk=instance.pk))
        with self.assertRaisesRegex(TypeError, 'safe string'):
            render.richtext_filters(pre_html)

    def test_getcontent(self):
        content = render.getcontent('featureful_button', 1)
        self.assertEqual(content, '<p>Hello Stanley!</p>')

    def test_getcontent_nonexistantshortcode(self):
        with self.assertRaisesRegex(KeyError, 'nonexistant shortcode'):
            render.getcontent('imaginary_button', 1)

    def test_getcontent_nonexistantmodelinstance(self):
        with self.assertRaisesRegex(self.model.DoesNotExist, 'does not exist'):
            render.getcontent('featureful_button', 100)


if __name__ == '__main__':
    testutils.test_module('test_render')
        self.assertEqual(SomeMenu.buttons, [
            {'name': SomeMenu.some_menubutton.__name__,
             'displayname': self.modelform._meta.model._meta.verbose_name,
             'iconurl': '/static/file.ext'},
            {'name': 'some_button',
             'displayname': self.modelform._meta.model._meta.verbose_name,
             'iconurl': None}
        ])

        self.assertIn(SomeMenu, state.TOOLBAR)

    def test_menu_baseclass_not_in_toolbar(self):
        """ Menu base class should not be added to toolbar. """
        importlib.reload(register_api)
        self.assertFalse(state.TOOLBAR)


class TestGenericButton(TestShortcodeBase):
    def test_api(self):
        register_api.GenericButton(
            'some_button', self.modelform, 'template.html')

        some_button_obj = state.TOOLBAR.pop()
        self.assertEqual(some_button_obj.name, 'some_button')
        self.assertEqual(some_button_obj.modelform, self.modelform)
        self.assertEqual(some_button_obj.fn.__name__, 'generic_shortcode')


if __name__ == '__main__':
    testutils.test_module('test_register')
Ejemplo n.º 4
0
    def test_page(self):
        # Insert Featureful Button shortcode.
        self.browser.find_by_text('Featureful Button').first.click()
        self.fillPerson('Spongebob')
        self.clickInsert()

        # Insert generic shortcode.
        if WEBDRIVER == 'phantomjs':
            self.browser.execute_script("jQuery('.mceEditor').show()")
            self.browser.find_by_css('.mceEditor').type(Keys.ENTER)
        else:
            time.sleep(1)

        self.browser.find_by_text('generic button model').first.click()
        self.fillPerson('Squidward')
        self.clickInsert()

        self.savePage()

        # Navigate to page.
        self.visit_relativeurl('/admin/logout/')
        self.visit_relativeurl('/some-page')

        # Test page.
        self.assertTrue(self.browser.is_text_present('Hello Spongebob!'), 5)
        self.assertTrue(self.browser.is_text_present('Hello Squidward!'), 5)


if __name__ == '__main__':
    testutils.test_module('test_browser')