testfunc/test/windmill/test_creation.py
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Fri, 22 Mar 2013 18:51:03 +0100
changeset 8763 0144b26e958d
parent 8696 0bb18407c053
permissions -rw-r--r--
[transaction] handle ``mode`` default value in Transaction The transaction mode is now explicitly passed at creation time and always read from the Transaction object. Note that there is a slight behavior change. The transaction mode is now set at the creation of the transaction. Changes made to the default value have no longer any effect on existing transaction.

from cubicweb.devtools import DEFAULT_SOURCES
LOGIN, PASSWORD = DEFAULT_SOURCES['admin'].itervalues()

# Generated by the windmill services transformer
from windmill.authoring import WindmillTestClient

def test_creation():
    client = WindmillTestClient(__name__)

    client.open(url=u'/')
    client.waits.forPageLoad(timeout=u'8000')
    client.type(text=LOGIN, id=u'__login')
    client.type(text=PASSWORD, id=u'__password')
    client.click(value=u'log in')
    client.waits.forPageLoad(timeout=u'20000')

    # pre-condition
    client.open(url=u'/cwuser/myuser')
    client.asserts.assertJS(js=u'$(\'#contentmain h1\').text() == "this resource does not exist"')
    client.open(url=u'/?rql=Any U WHERE U is CWUser, U login "myuser"')
    client.asserts.assertJS(js=u'$(\'.searchMessage strong\').text() == "No result matching query"')

    client.open(url=u'/manage')
    client.open(url=u'/add/CWUser')
    client.type(text=u'myuser', id=u'login-subject:A')
    client.type(text=u'myuser', id=u'upassword-subject:A')
    client.type(text=u'myuser', name=u'upassword-subject-confirm:A')
    client.type(text=u'myuser', id=u'firstname-subject:A')
    client.select(option=u'managers', id=u'from_in_group-subject:A')
    client.click(id=u'cwinoutadd')
    client.waits.forPageLoad(timeout=u'20000')
    client.click(id=u'adduse_email:Alink')
    client.waits.forPageLoad(timeout=u'20000')
    client.type(text=u'myuser@logilab.fr', id=u'address-subject:B')
    client.waits.forPageLoad(timeout=u'20000')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.sleep(milliseconds=u'5000')
    client.asserts.assertJS(js=u'$(\'.message\').text() == "entity created"')
    client.open(url=u'/?rql=Any U WHERE U is CWUser, U login "myuser"')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertJS(js=u'$(\'#contentmain h1\').text() == "myuser"')
    client.waits.forPageLoad(timeout=u'8000')
    client.open(url=u'/cwuser/myuser?vid=sameetypelist')
    client.waits.forPageLoad(timeout=u'8000')
    client.asserts.assertJS(js=u'$(\'#contentmain a\').text() == "myuser"')
    client.open(url=u'/cwuser/myuser?vid=text')
    client.waits.forPageLoad(timeout=u'8000')
    client.asserts.assertJS(js=u'$(\'#contentmain\').text() == "\\nmyuser"')
    client.open(url=u'/cwuser/myuser?vid=deleteconf')
    client.waits.forElement(timeout=u'8000', value=u'button_delete')
    client.click(value=u'button_delete')
    client.waits.forPageLoad(timeout=u'8000')
    client.open(url=u'/cwuser/myuser')
    client.asserts.assertJS(js=u'$(\'#contentmain h1\').text() == "this resource does not exist"')
    client.open(url=u'/?rql=Any U WHERE U is CWUser, U login "myuser"')
    client.asserts.assertJS(js=u'$(\'.searchMessage strong\').text() == "No result matching query"')