Log in as Manager::

    >>> browser.login(TEST_USER_NAME, TEST_USER_PASSWORD)

Go to add portlet.SubscribeNewsletter::

    >>> browser.open('/@@manage-portlets')

    >>> 'Our newsletter' in browser.contents
    False

    >>> browser.open('/++contextportlets++plone.leftcolumn/+/portlets.SubscribeNewsletter')

    >>> browser.getControl(name="form.actions.save").click()

    >>> 'Our newsletter' in browser.contents
    True

The portlet should not be available::

    >>> browser.open('/')
    >>> 'Our newsletter' in browser.contents
    False

Add NewsletterTheme to make the portlet available::

    >>> browser.open('/createObject?type_name=NewsletterTheme')
    >>> browser.getControl(name="title").value = 'NewsletterTheme01'
    >>> browser.getControl(name="description").value = 'Description of NewsletterTheme01'
    >>> browser.getControl(name="default_format").value = ['Text']
    >>> browser.getControl(name="testEmail").value = 'test@test.mail'
    >>> browser.getControl(name="authorEmail").value = 'author@test.mail'
    >>> browser.getControl(name="form.button.Save").click()

    >>> 'Our newsletter' in browser.contents
    True

    >>> print browser.bycss('.portletFooter')
    --- 1 ---
    <dd class="portletFooter">
    <span class="portletBottomLeft"></span>
    <a alt="Description of NewsletterTheme01" href="http://nohost/plone/newslettertheme01" title="NewsletterTheme01">
	Visit our archives
	</a>
    <span class="portletBottomRight"></span>
    </dd>

    >>> 'path=/plone/newslettertheme01' in browser.contents
    True

Add one more NewsletterTheme::

    >>> browser.open('/createObject?type_name=NewsletterTheme')
    >>> browser.getControl(name="title").value = 'NewsletterTheme02'
    >>> browser.getControl(name="description").value = 'Description of NewsletterTheme02'
    >>> browser.getControl(name="default_format").value = ['HTML']
    >>> browser.getControl(name="testEmail").value = 'test2@test.mail'
    >>> browser.getControl(name="authorEmail").value = 'author2@test.mail'
    >>> browser.getControl(name="form.button.Save").click()

Go to edit portlet::

    >>> browser.open('/++contextportlets++plone.leftcolumn/bound-method-assignment-title-of-assignment-at/edit?referer=http%3A//nohost/plone/%40%40manage-portlets')

    >>> browser.getControl(name="form.newsletters.query.selection").value = ["/newslettertheme02"]

    >>> browser.getControl(name="form.newsletters.query.apply").click()

    >>> browser.getControl(name="form.actions.save").click()

    >>> browser.open('/')

    >>> print browser.bycss('.portletFooter')
    --- 1 ---
    <dd class="portletFooter">
    <span class="portletBottomLeft"></span>
    <a alt="Description of NewsletterTheme02" href="http://nohost/plone/newslettertheme02" title="NewsletterTheme02">
	Visit our archives
	</a>
    <span class="portletBottomRight"></span>
    </dd>

    >>> 'path=/plone/newslettertheme02' in browser.contents
    True
