*** Settings ***

Library  Selenium2Library  timeout=15  implicit_wait=0.1

Library  patch.py

Resource  keywords.txt

Variables  plone/app/testing/interfaces.py

Suite Setup  Open plonetabs controlpanel

Suite Teardown  Close All Browsers


*** Variables ***

${PORT} =  55001
${ZOPE_URL} =  http://localhost:${PORT}
${PLONE_URL} =  ${ZOPE_URL}/plone
${BROWSER} =  Firefox


*** Test Cases ***

Reinstall Plone Tabs
    Uninstall quintagroup.plonetabs
    Install quintagroup.plonetabs

Add Action
    Page should contain element  //form[@id='addaction']
    Click Button  buttonadd
    Page Should Contain  Please correct the indicated errors.
    Page Should Contain  Empty or invalid id specified
    Page Should Contain  Empty or invalid title specified
    Input Text  actname  action / title
    Input Text  actid  action_id
    Click Button  buttonadd
    Wait Until Page Contains  'action_id' action successfully added.
    Page Should Contain Element  //li[@id='tabslist_action_id']
    Click Button  //li[@id='tabslist_action_id']//input[contains(@class, 'editdelete')]
    Wait Until Page Contains  'action_id' action deleted.

Edit Action
    Input Text  title_index_html  Home updated
    Click Element  //li[@id='tabslist_index_html']//input[@value='Save']
    Wait Until Page Contains  'index_html' action saved.
    Element Text Should Be  //li[@id='portaltab-index_html']/a  Home updated
    Input Text  title_index_html  Home
    Click Element  //li[@id='tabslist_index_html']//input[@value='Save']
    Wait Until Page Contains  'index_html' action saved.
    Element Text Should Be  //li[@id='portaltab-index_html']/a  Home

Add Visibility
    Page Should Contain Element  //li[@id='portaltab-index_html']
    Unselect Checkbox  visible_index_html
    Click Element  //li[@id='tabslist_index_html']//input[@value='Save']
    Wait Until Page Contains  'index_html' action saved.
    Page Should Not Contain Element  //li[@id='portaltab-index_html']
    Page Should Contain Element  //li[@id='tabslist_index_html'][@class='invisible']
    Select Checkbox  visible_index_html
    Click Element  //li[@id='tabslist_index_html']//input[@value='Save']
    Wait Until Page Contains  'index_html' action saved.
    Page Should Contain Element  //li[@id='portaltab-index_html']
    Page Should Not Contain Element  //li[@id='tabslist_index_html'][@class='invisible']

Actions Sorting
    Select From List  select_category  site_actions
    Click Button  Change
    Wait Until Page Contains  Plone 'site_actions' Configuration
    Click Button  //li[@id='tabslist_plone_setup']//input[contains(@class, 'editmoveup')]
    Wait Until Page Contains  'plone_setup' action moved up.
    Wait Until Page Contains Element  //li[@id='tabslist_contact']/preceding-sibling::li[@id='tabslist_plone_setup']
    Click Button  //li[@id='tabslist_contact']//input[contains(@class, 'editmoveup')]
    Wait Until Page Contains  'contact' action moved up.
    Wait Until Page Contains Element  //li[@id='tabslist_plone_setup']/preceding-sibling::li[@id='tabslist_contact']

Autogenerated Tabs
    Page Should Contain  Automatically generate tabs
    List Selection Should Be  //select[@id='select_category']  portal_tabs
    Select Checkbox  //input[@id='generated_tabs']
    Click Element  //input[@id='generated_tabs']
    Click Button  //div[@id='autogeneration_section']//input[@value='Save']
#    Wait Until Page Contains  Generated tabs switched off.
    Wait Until Page Contains  Changes saved!
    Xpath Should Match X Times  //ul[@id='portal-globalnav']/li  1
    Click Element  //input[@id='generated_tabs']
    Click Button  //div[@id='autogeneration_section']//input[@value='Save']
#    Wait Until Page Contains  Generated tabs switched on.
    Wait Until Page Contains  Changes saved!
    Xpath Should Match X Times  //ul[@id='portal-globalnav']/li  4
    Mouse Over  //li[@id='roottabs_news']
    Select Checkbox  //li[@id='roottabs_news']//input[@type='checkbox']
    Mouse Over  //li[@id='roottabs_news']
    Click Element  //li[@id='roottabs_news']//input[@type='checkbox']
    Click Button  //div[@id='autogeneration_section']//input[@value='Save']
#    Wait Until Page Contains  'news' object was excluded from navigation.
    Wait Until Page Contains  Changes saved!
    Xpath Should Match X Times  //ul[@id='portal-globalnav']/li  3
    Page Should Contain Element  //li[@id='roottabs_news'][@class='invisible']
    Click Element  //li[@id='roottabs_news']//input[@type='checkbox']
    Click Button  //div[@id='autogeneration_section']//input[@value='Save']
#    Wait Until Page Contains  'news' object was included into navigation.
    Wait Until Page Contains  Changes saved!
    Xpath Should Match X Times  //ul[@id='portal-globalnav']/li  4
    Page Should Not Contain Element  //li[@id='roottabs_news'][@class='invisible']

Change Actions Category
    Select From List  select_category  site_actions
    Click Button  Change
    Wait Until Page Contains  Plone 'site_actions' Configuration
