testfunc/test/windmill/test_edit_relation.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Mon, 30 Jan 2012 20:56:00 +0100
branchstable
changeset 8185 864fc1f147a4
parent 7363 2293c49b290a
child 8696 0bb18407c053
permissions -rw-r--r--
[js, i18n] translated strings should use " not ' else they are discarded by xgettext. Closes #1892489

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

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


def test_edit_relation():
    client = WindmillTestClient(__name__)

    client.open(url=u'/logout')
    client.open(url=u'/')
    client.asserts.assertJS(js=u"$('#loginForm').is(':visible')")
    client.type(text=LOGIN, id=u'__login')
    client.type(text=PASSWORD, id=u'__password')
    client.execJS(js=u"$('#loginForm').submit()")
    client.waits.forPageLoad(timeout=u'20000')
    client.open(url=u'/add/Folder')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(timeout=u'8000', id=u'name-subject:A')
    client.click(id=u'name-subject:A')
    client.type(text=u'folder1', id=u'name-subject:A')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'add add Folder filed_under Folder object', timeout=u'8000')
    client.click(link=u'add add Folder filed_under Folder object')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(timeout=u'8000', id=u'name-subject:A')
    client.click(id=u'name-subject:A')
    client.type(text=u'subfolder1', id=u'name-subject:A')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'more actions', timeout=u'8000')
    client.click(link=u'more actions')
    client.click(link=u'copy')
    client.waits.forPageLoad(timeout=u'20000')
    client.type(text=u'folder2', id=u'name-subject:A')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'modify', timeout=u'8000')
    client.click(link=u'modify')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(timeout=u'8000', id=u'footer')
    client.click(link=u'x')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'add add Folder filed_under Folder object', timeout=u'8000')
    client.click(link=u'add add Folder filed_under Folder object')
    client.waits.forPageLoad(timeout=u'20000')
    client.type(text=u'subfolder2', id=u'name-subject:A')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'subfolder2', timeout=u'8000')
    client.click(link=u'subfolder2')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(link=u'modify', timeout=u'8000')
    client.click(link=u'modify')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(timeout=u'8000', id=u'footer')
    client.click(link=u'x')
    client.select(xpath=u'//select', index=u'1')
    #client.execJQuery(jquery=u'("select").trigger(\'change\')') # BUGGY freeze UI..
    client.execJS(js=u'$("select").trigger(\'change\')')
    client.waits.sleep(milliseconds=u'2000')
    client.select(jquery=u'(\'select:contains("Search")\')[0]', option=u'Search for folder')
    client.waits.forPageLoad(timeout=u'20000')
    client.click(link=u'folder1')
    client.waits.forPageLoad(timeout=u'20000')
    client.waits.forElement(timeout=u'8000', value=u'button_ok')
    client.click(value=u'button_ok')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertText(xpath=u'//h1', validator=u'subfolder2')
    client.waits.forElement(link=u'folder_plural', timeout=u'8000')
    client.click(link=u'folder_plural')
    client.waits.forPageLoad(timeout=u'20000')
    client.asserts.assertText(jquery=u"('#contentmain div a')[0]", validator=u'folder1')
    client.asserts.assertText(jquery=u"('#contentmain div a')[1]", validator=u'folder2')
    client.asserts.assertText(jquery=u"('#contentmain div a')[2]", validator=u'subfolder1')
    client.asserts.assertText(jquery=u"('#contentmain div a')[3]", validator=u'subfolder2')
    client.click(link=u'subfolder2')
    client.click(link=u'modify')
    client.click(link=u'folder1')