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.addtocart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    1
    </td>

    >>> browser.open('/article2')
    >>> browser.getControl(name="form.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('#cart')
    --- 1 ---
    <section id="cart"><h1>Cart</h1>
    <section><table class="listing"><thead><tr><th>Name</th>
    <th>Delete</th>
    </tr></thead><tbody><form method="post" action="http://nohost/plone/@@cart">
    <tr class="odd"><td class="name">
    <a href="http://nohost/plone/article1">&#196;rticle1</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.delete.article" type="submit" value="...">Delete</button>
    </td>
    </tr></form>
    <form method="post" action="http://nohost/plone/@@cart">
    <tr class="even"><td class="name">
    <a href="http://nohost/plone/article2">&#196;rticle2</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.delete.article" type="submit" value="...">Delete</button>
    </td>
    </tr></form>
    </tbody></table></section></section>

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.addtocart").click()
    >>> print browser.bycss('#article-count')
    --- 1 ---
    <td id="article-count">
    1
    </td>

    >>> browser.open('/article2')
    >>> browser.getControl(name="form.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('#cart')
    --- 1 ---
    <section id="cart"><h1>Cart</h1>
    <section><table class="listing"><thead><tr><th>Name</th>
    <th>Delete</th>
    </tr></thead><tbody><form method="post" action="http://nohost/plone/@@cart">
    <tr class="odd"><td class="name">
    <a href="http://nohost/plone/article1">&#196;rticle1</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.delete.article" type="submit" value="...">Delete</button>
    </td>
    </tr></form>
    <form method="post" action="http://nohost/plone/@@cart">
    <tr class="even"><td class="name">
    <a href="http://nohost/plone/article2">&#196;rticle2</a>
    </td>
    <td class="remove">
    <button class="standalone" name="form.delete.article" type="submit" value="...">Delete</button>
    </td>
    </tr></form>
    </tbody></table></section></section>
