Staging behavior regression tests
=================================

Tests for bugs that would distract from usage examples in stagingbehavior.txt

If we access the site as an admin TTW::

    >>> from plone.testing.z2 import Browser
    >>> browser = Browser(layer["app"])
    >>> browser.handleErrors = False
    >>> portal = layer["portal"]
    >>> portal_url = "http://nohost/plone"
    >>> from plone.app.testing.interfaces import SITE_OWNER_NAME, SITE_OWNER_PASSWORD
    >>> browser.addHeader("Authorization", "Basic %s:%s" % (SITE_OWNER_NAME, SITE_OWNER_PASSWORD))

KeyError with aquisition wrapper
=========================================

When an item provides IBaseline (has been checked in at least once) and it is accessed through an 
Aquisition wrapper you get a KeyError from zope.intid, originating from five.intid.

    >>> browser.open(portal_url + "/folder_factories")
    >>> browser.contents
    '...test_folder...'
    >>> browser.getControl("Test Folder").click()
    >>> browser.getControl("Add").click()
    >>> browser.getControl(name="form.widgets.IDublinCore.title").value = "My Folder"
    >>> browser.getControl(name="form.buttons.save").click()
    >>> browser.url
    'http://nohost/plone/test_folder/view'

    >>> browser.open("http://nohost/plone/test_folder/folder_factories")
    >>> browser.contents
    '...stageable_type...'
    >>> browser.getControl("Stageable Type").click()
    >>> browser.getControl("Add").click()
    >>> browser.getControl(name="form.widgets.IDublinCore.title").value = "My Sub-object"
    >>> browser.getControl(name="form.buttons.save").click()
    >>> browser.url
    'http://nohost/plone/test_folder/stageable_type/view'
    
Checkout

    >>> browser.getLink(id="iterate_checkout").click()
    >>> browser.contents
    '...This is a working copy of...My Sub-object..., made by...admin... on...'
    
Checkin

    >>> browser.getLink(id="iterate_checkin").click()
    >>> browser.contents
    '...Check in...'
    >>> browser.getControl(name="form.button.Checkin").click()
    >>> browser.url
    'http://nohost/plone/test_folder/stageable_type'
    
Test can view through Aquisition wrapper (repeating test_folder is deliberate here)

    >>> browser.open("http://nohost/plone/test_folder/test_folder/stageable_type")
    >>> browser.contents
    '...My Sub-object...'
