Initial imports and defines.
----
    >>> portal_url =  portal.absolute_url()
    >>> form = portal.form
    >>> form_url = form.absolute_url()

Setting up.
----
    >>> try:
    ...     from Testing.testbrowser import Browser
    ... except ImportError:
    ...     from Products.Five.testbrowser import Browser
    >>> browser = Browser()

For debugging.
----
    >>> browser.handleErrors = True
    >>> portal.error_log._ignored_exceptions = ()

Turn off portlets.
----
    >>> from zope.component import getUtility, getMultiAdapter
    >>> from plone.portlets.interfaces import IPortletManager
    >>> from plone.portlets.interfaces import IPortletAssignmentMapping

    >>> right_column = getUtility(IPortletManager, name=u"plone.leftcolumn")
    >>> right_assignable = getMultiAdapter((portal, right_column), IPortletAssignmentMapping)
    >>> for name in right_assignable.keys():
    ...     del right_assignable[name]

    >>> right_column = getUtility(IPortletManager, name=u"plone.rightcolumn")
    >>> right_assignable = getMultiAdapter((portal, right_column), IPortletAssignmentMapping)
    >>> for name in right_assignable.keys():
    ...     del right_assignable[name]


Log in as the portal owner.
----
    >>> browser.open(portal_url)
    >>> from Products.PloneTestCase.setup import portal_owner, default_password
    >>> browser.open(portal_url + '/login_form?came_from=' + portal_url)
    >>> browser.getControl(name='__ac_name').value = portal_owner
    >>> browser.getControl(name='__ac_password').value = default_password
    >>> browser.getControl(name='submit').click()

Go to Site Setup and to Cart Config
----
    >>> browser.getLink('Site Setup').click()

    >>> try:
    ...     browser.getLink('Payment Config').click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

    >>> 'name="local_payment"' in browser.contents
    False
    >>> 'name="capital" value="on" checked="checked"' in browser.contents
    True
    >>> browser.getControl(name="mac").value = 'ABCDEFG'
    >>> browser.getControl(name="fields").value = 'FIELD01\r\nFIELD02\r\nFIELD03'
    >>> browser.getControl(name="separator").value = ','
    >>> browser.getControl(name="capital").value = False
    >>> try:
    ...     browser.getControl(name="form.button.UpdatePaymentProperties").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()
    >>> 'value="ABCDEFG"' in browser.contents
    True
    >>> 'FIELD01\r\nFIELD02\r\nFIELD03' in browser.contents
    True
    >>> 'value=","' in browser.contents
    True
    >>> 'name="capital" value="on" checked="checked"' in browser.contents
    False
    >>> browser.getControl(name="mac").value = '6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ'
    >>> browser.getControl(name="fields").value = 'field01\r\nfield02\r\n'
    >>> browser.getControl(name="separator").value = '|'
    >>> browser.getControl(name="capital").value = True

    >>> try:
    ...     browser.getControl(name="form.button.UpdatePaymentProperties").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

    >>> 'value="6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ"' in browser.contents
    True
    >>> 'field01\r\nfield02\r\n' in browser.contents
    True
    >>> 'value="|"' in browser.contents
    True
    >>> 'value="on" checked="checked"' in browser.contents
    True

Go To FormFolder and see if there are object_buttons
-----------------------------------------------------
    >>> browser.open(form_url)
    >>> 'id="make_order_number_aware"' in browser.contents
    True
    >>> 'id="make_order_number_unaware"' in browser.contents
    False

    >>> try:
    ...     browser.getLink(id="make_order_number_aware").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

#    >>> browser.getLink(id="make_order_number_aware").click()


    >>> browser.url
    'http://nohost/plone/form/@@edit-order-number'
    >>> 'value="Incremental" selected="selected"' in browser.contents
    True
    >>> 'value="Random" selected="selected"' in browser.contents
    False
    >>> 'value="1"' in browser.contents
    True
    >>> 'value="5"' in browser.contents
    True
    >>> browser.getControl(name="next_incremental_number").value = '1000'
    >>> browser.getControl(name="random_number_digits").value = ''

    >>> try:
    ...     browser.getControl(name="form.button.UpdateNumber").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

#    >>> browser.getControl(name="form.button.UpdateNumber").click()


    >>> 'value="Incremental" selected="selected"' in browser.contents
    True
    >>> 'value="Random" selected="selected"' in browser.contents
    False
    >>> 'value="1"' in browser.contents
    False
    >>> 'value="1000"' in browser.contents
    True
    >>> 'value="5"' in browser.contents
    True


    >>> browser.getControl(name="numbering_type").value = ['Random']
    >>> browser.getControl(name="random_number_digits").value = '10'
  
    >>> try:
    ...     browser.getControl(name="form.button.UpdateNumber").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

#    >>> browser.getControl(name="form.button.UpdateNumber").click()

    >>> 'value="Random" selected="selected"' in browser.contents
    True
    >>> 'value="1"' in browser.contents
    False
    >>> 'value="1000"' in browser.contents
    True
    >>> 'value="5"' in browser.contents
    False
    >>> 'value="10"' in browser.contents
    True

    >>> topic = form.topic
    >>> topic.setFgTDefault('python:here.restrictedTraverse("number")')

    >>> try:
    ...     browser.getLink('View').click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

    >>> browser.getLink('Edit Order Number').click()
    >>> browser.getControl(name="numbering_type").value = ['Incremental']
    >>> browser.getControl(name="next_incremental_number").value = '1000'
    >>> try:
    ...     browser.getControl(name="form.button.UpdateNumber").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()
    >>> try:
    ...     browser.getLink('View').click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()
    >>> 'value="1000"' in browser.contents
    True

    >>> browser.getLink('Edit Order Number').click()
    >>> 'name="local_payment"' in browser.contents
    True
    >>> browser.getControl(name="mac").value = '6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ'
    >>> browser.getControl(name="fields").value = 'field01\r\nfield02\r\n'
    >>> browser.getControl(name="separator").value = '|'
    >>> browser.getControl(name="capital").value = True

    >>> try:
    ...     browser.getControl(name="form.button.UpdatePaymentProperties").click()
    ... except:
    ...     print portal.error_log.getLogEntries()[0]['tb_text']
    ...     import pdb; pdb.set_trace()

    >>> 'value="6pKF4jkv97zmqBJ3ZL8gUw5DfT2NMQ"' in browser.contents
    True
    >>> 'field01\r\nfield02\r\n' in browser.contents
    True
    >>> 'value="|"' in browser.contents
    True
    >>> 'value="on" checked="checked"' in browser.contents
    True

    >>> 'name="local_payment" value="on" checked="checked"' in browser.contents
    False
    >>> browser.getControl(name="local_payment").value = True
    >>> browser.getControl(name="form.button.UseLocalPayment").click()
    >>> 'name="local_payment" value="on" checked="checked"' in browser.contents
    True
    >>> browser.getControl(name="local_payment").value = False
    >>> browser.getControl(name="form.button.UseLocalPayment").click()
    >>> 'name="local_payment" value="on" checked="checked"' in browser.contents
    False
