def test_post_as_anonymous(self):
        """Post a new comment as anonymous
        """
        testing.enable_anonymous_posting(self.root.forum)

        browser = self.layer.get_browser(topic_settings)
        browser.login('dummy', 'dummy')

        self.assertEqual(browser.open('/root/forum'), 200)
        self.assertEqual(browser.get_link('Test Topic').click(), 200)

        # Fill in and preview a new comment
        form = browser.get_form('post')
        self.assertEqual(form.get_control("anonymous").checked, False)
        form.get_control("title").value = "Anonymous Comment"
        form.get_control("text").value = "It's a secret"
        form.get_control("anonymous").checked = True
        self.assertEqual(form.get_control("action.preview").click(), 200)

        self.assertEqual(browser.inspect.feedback, [])
        self.assertEqual(browser.inspect.preview_author, ['anonymous'])

        # Post the previewed comment
        form = browser.get_form('post')
        self.assertEqual(form.get_control("anonymous").checked, True)
        self.assertEqual(form.get_control("action.post").click(), 200)

        self.assertEqual(browser.inspect.feedback, ["Comment added."])
        self.assertEqual(browser.inspect.subjects, ["Anonymous Comment"])
        self.assertEqual(browser.inspect.comments, ["It's a secret"])
        self.assertEqual(browser.inspect.authors, ["anonymous"])

        self.assertEqual(browser.get_link("permalink").click(), 200)
        self.assertEqual(browser.location,
                         "/root/forum/topic/Anonymous_Comment")
    def test_post_and_preview_as_anonymous(self):
        """Post a new topic logged in as anonymous
        """
        testing.enable_anonymous_posting(self.root.forum)

        browser = self.layer.get_browser(forum_settings)
        browser.login('dummy', 'dummy')
        self.assertEqual(browser.open('/root/forum'), 200)

        form = browser.get_form('post')
        form.get_control("topic").value = "Anonymous post"
        self.assertEqual(form.get_control("anonymous").checked, False)
        form.get_control("anonymous").checked = True
        self.assertEqual(form.get_control("action.preview").click(), 200)

        self.assertEqual(browser.inspect.feedback, [])
        self.assertEqual(browser.inspect.preview_topic, ["Anonymous post"])
        self.assertEqual(browser.inspect.preview_author, ['anonymous'])

        form = browser.get_form('post')
        self.assertEqual(form.get_control("topic").value, "Anonymous post")
        self.assertEqual(form.get_control("anonymous").checked, True)
        self.assertEqual(form.get_control("action.post").click(), 200)

        self.assertEqual(browser.inspect.feedback, ["Topic added."])
        self.assertEqual(browser.inspect.preview_topic, [])
        self.assertEqual(browser.inspect.preview_author, [])
        self.assertEqual(browser.inspect.topics, ["Anonymous post"])
        self.assertEqual(browser.inspect.authors, ['anonymous'])

        self.assertEqual(browser.inspect.topics["Anonymous post"].click(), 200)
        self.assertEqual(browser.location, '/root/forum/Anonymous_post')
    def test_post_as_anonymous(self):
        """Post a new comment as anonymous
        """
        testing.enable_anonymous_posting(self.root.forum)

        browser = self.layer.get_browser(topic_settings)
        browser.login('dummy', 'dummy')

        self.assertEqual(browser.open('/root/forum'), 200)
        self.assertEqual(browser.get_link('Test Topic').click(), 200)

        # Fill in and preview a new comment
        form = browser.get_form('post')
        self.assertEqual(form.get_control("anonymous").checked, False)
        form.get_control("title").value = "Anonymous Comment"
        form.get_control("text").value = "It's a secret"
        form.get_control("anonymous").checked = True
        self.assertEqual(form.get_control("action.preview").click(), 200)

        self.assertEqual(browser.inspect.feedback, [])
        self.assertEqual(browser.inspect.preview_author, ['anonymous'])

        # Post the previewed comment
        form = browser.get_form('post')
        self.assertEqual(form.get_control("anonymous").checked, True)
        self.assertEqual(form.get_control("action.post").click(), 200)

        self.assertEqual(browser.inspect.feedback, ["Comment added."])
        self.assertEqual(browser.inspect.subjects, ["Anonymous Comment"])
        self.assertEqual(browser.inspect.comments, ["It's a secret"])
        self.assertEqual(browser.inspect.authors, ["anonymous"])

        self.assertEqual(browser.get_link("permalink").click(), 200)
        self.assertEqual(
            browser.location,
            "/root/forum/topic/Anonymous_Comment")