Log in as Manager::

    >>> browser.login(TEST_USER_NAME, TEST_USER_PASSWORD)

    >>> browser.open('/')
    >>> 'Make Shopping Site' in browser.contents
    True
    >>> 'Unmake Shopping Site' in browser.contents
    False

    >>> browser.open('/order-container')
    Traceback (most recent call last):
    ...
    HTTPError: HTTP Error 404: Not Found

Make Shopping Site::

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

    >>> 'Make Shopping Site' in browser.contents
    False
    >>> 'Unmake Shopping Site' in browser.contents
    True

    >>> browser.open('/order-container')

    >>> print browser.bycss('.documentDescription')
    --- 1 ---
    <div class="documentDescription">The next order ID: 1</div>

    >>> print browser.bycss('#no-orders')
    --- 1 ---
    <p id="no-orders">
    There are no orders.
    </p>

    >>> print browser.bycss('.listing')

Unmake Shopping Site::

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

    >>> 'Make Shopping Site' in browser.contents
    True
    >>> 'Unmake Shopping Site' in browser.contents
    False

    >>> browser.open('/order-container')
    >>> print browser.bycss('.documentDescription')

    >>> print browser.bycss('#no-orders')
    --- 1 ---
    <p id="no-orders">
    There are no orders.
    </p>

    >>> print browser.bycss('.listing')

Make Shopping Site once again::

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

    >>> 'Make Shopping Site' in browser.contents
    False
    >>> 'Unmake Shopping Site' in browser.contents
    True

There should only be one Order Container::

    >>> browser.open('/order-container-1')
    Traceback (most recent call last):
    ...
    HTTPError: HTTP Error 404: Not Found

Deleting Order Container Unmake Shopping Site::

    >>> browser.open('/order-container/delete_confirmation')
    >>> browser.getControl('Delete').click()

    >>> 'This container is no longer a shopping site.' in browser.contents
    True

    >>> browser.open('/order-container')
    Traceback (most recent call last):
    ...
    HTTPError: HTTP Error 404: Not Found

Make Shopping Site once again::

    >>> browser.open('/')
    >>> 'Make Shopping Site' in browser.contents
    True
    >>> 'Unmake Shopping Site' in browser.contents
    False

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

    >>> 'Make Shopping Site' in browser.contents
    False
    >>> 'Unmake Shopping Site' in browser.contents
    True

Add Article::

    >>> browser.open('/++add++collective.cart.core.Article')
    >>> browser.getControl(name="form.widgets.IDublinCore.title").value = 'Ärticle01'
    >>> browser.getControl(name="form.widgets.IDublinCore.description").value = 'Description of Ärticle01'
    >>> browser.getControl(name="form.buttons.save").click()

    >>> article01_url = browser.url

Publish the Article::

    >>> browser.getLink('Publish').click()

    >>> 'Add To Cart' in browser.contents
    True

Make not salable::

    >>> browser.open(article01_url)
    >>> browser.getLink('Edit').click()
    >>> browser.getControl(name="form.widgets.ISalable.salable:list").value = False
    >>> browser.getControl(name="form.buttons.save").click()

    >>> 'Add To Cart' in browser.contents
    False

Make salable::

    >>> browser.getLink('Edit').click()
    >>> browser.getControl(name="form.widgets.ISalable.salable:list").value = True
    >>> browser.getControl(name="form.buttons.save").click()

    >>> 'Add To Cart' in browser.contents
    True


Cart should be empty::

    >>> browser.open('/@@cart')
    >>> 'Cart is empty' in browser.contents
    True

Add Article01 To Cart::

    >>> browser.open('/article01')
    >>> 'Add To Cart' in browser.contents
    True
    >>> browser.getControl(name="form.buttons.AddToCart").click()

Check cart::

    >>> browser.open('/@@cart')
    >>> print browser.bycss('.name')
    --- 1 ---
    <td class="name">
    <a href="http://nohost/plone/article01">&#196;rticle01</a>
    </td>
