Using a member-posting forum
============================

Test starting conversations, replying and modifying comments in a default
member-posting forum.

First, some set-up:

    >>> from Products.Five import zcml

Let us log all exceptions, which is useful for debugging. Also, clear portlet
slots, to make the test browser less confused by things like the recent portlet
and the navtree.

    >>> self.portal.error_log._ignored_exceptions = ()
    >>> self.portal.left_slots = self.portal.right_slots = []
    >>> workflow = self.portal.portal_workflow

Validate mailhost replacement
-----------------------------

    >>> self.portal.MailHost
    <MockMailHost at ...>
    
    >>> from Products.CMFCore.utils import getToolByName
    >>> getToolByName(self.portal, 'MailHost')
    <MockMailHost at ...>
    
    >>> from zope.component import getUtility
    >>> from Products.MailHost.interfaces import IMailHost
    >>> getUtility(IMailHost)
    <MockMailHost at ...>
    

Send email
----------

    >>> msg = """To: member@example.com
    ...
    ... Dear Sir:
    ...
    ... Thank you"""

    >>> self.portal.MailHost.send(msg)

    >>> len(self.portal.MailHost.messages)
    1

    >>> self.portal.MailHost.messages[0]
    'To: member@example.com...'

    >>> self.portal.MailHost.messages[0]
    '...Dear Sir:...'

    >>> self.portal.MailHost.messages[0]
    '...Thank you...'

    >>> self.portal.MailHost.messages[0]
    '...Dear Sir:...Thank you...'

    >>> self.portal.MailHost.reset()

    >>> len(self.portal.MailHost.messages)
    0

    >>> self.portal.MailHost.reset()
    >>> self.portal.MailHost.send(msg, mto='member@example.com', 
    ...                                mfrom='admin@example.com')
    >>> len(self.portal.MailHost.messages)
    1
    
    