Log in as Manager::

    >>> browser.login(TEST_USER_NAME, TEST_USER_PASSWORD)

Change the display to folder_listing to make '/' context portal::

    >>> browser.open('/selectViewTemplate?templateId=folder_listing')

Assign cart portlet::

    >>> browser.open('/++contextportlets++plone.leftcolumn/+/collective.cart.core.CartPortlet')

Go to portal and make Shopping Site::

    >>> browser.open('/')
    >>> browser.getLink('Make Shopping Site').click()

Add two Articles::

    >>> browser.open('/++add++collective.cart.core.Article')
    >>> browser.getControl(name="form.widgets.IDublinCore.title").value = 'Ärticle1'
    >>> browser.getControl(name="form.widgets.IDublinCore.description").value = 'Descriptiön of Ärticle1'
    >>> browser.getControl(name="form.buttons.save").click()
    >>> browser.getLink('Publish').click()

    >>> browser.open('/++add++collective.cart.core.Article')
    >>> browser.getControl(name="form.widgets.IDublinCore.title").value = 'Ärticle2'
    >>> browser.getControl(name="form.widgets.IDublinCore.description").value = 'Descriptiön of Ärticle2'
    >>> browser.getControl(name="form.buttons.save").click()
    >>> browser.getLink('Publish').click()

Add to cart should show cart portlet::

    >>> print browser.bycss('#article-count')

    >>> browser.open('/article1')
    >>> browser.getControl(name="form.buttons.AddToCart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    1
    </td>

    >>> browser.open('/article2')
    >>> browser.getControl(name="form.buttons.AddToCart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    2
    </td>

Go to cart by clicking link in the portlet::

    >>> browser.getLink('Go to cart').click()
    >>> browser.url
    'http://nohost/plone/@@cart'

    >>> print browser.bycss('.listing')
    --- 1 ---
    <table class="listing"><thead><tr><th>
    Name
    </th>
    <th>
    Remove
    </th>
    </tr></thead><tbody><tr><td class="name">
    <a href="http://nohost/plone/article1">&#196;rticle1</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.buttons.RemoveArticle" type="submit" value="...">
    Remove
    </button>
    </td>
    </tr><tr><td class="name">
    <a href="http://nohost/plone/article2">&#196;rticle2</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.buttons.RemoveArticle" type="submit" value="...">
    Remove
    </button>
    </td>
    </tr></tbody></table>

Log out and try the same thing with anonymous::

    >>> browser.getLink('Log out').click()

    >>> print browser.bycss('#article-count')

    >>> browser.open('/article1')
    >>> browser.getControl(name="form.buttons.AddToCart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    1
    </td>

    >>> browser.open('/article2')
    >>> browser.getControl(name="form.buttons.AddToCart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    2
    </td>

Go to cart by clicking link in the portlet::

    >>> browser.getLink('Go to cart').click()
    >>> browser.url
    'http://nohost/plone/@@cart'

    >>> print browser.bycss('.listing')
    --- 1 ---
    <table class="listing"><thead><tr><th>
    Name
    </th>
    <th>
    Remove
    </th>
    </tr></thead><tbody><tr><td class="name">
    <a href="http://nohost/plone/article1">&#196;rticle1</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.buttons.RemoveArticle" type="submit" value="...">
    Remove
    </button>
    </td>
    </tr><tr><td class="name">
    <a href="http://nohost/plone/article2">&#196;rticle2</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.buttons.RemoveArticle" type="submit" value="...">
    Remove
    </button>
    </td>
    </tr></tbody></table>
