*** Settings ***

Library  Selenium2Library  timeout=15  implicit_wait=0.1

Variables  plone/app/testing/interfaces.py

Suite Setup  Open Browser and login

Suite Teardown  Close All Browsers


*** Variables ***

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

${T_NO_EMBEDLY} =  No Embedly Block
${L_NO_EMBEDLY} =  http://www.youtube.com/watch?v=L1NPLlhFTVk
${B_NO_EMBEDLY} =  <a class="external-link" href="${L_NO_EMBEDLY}">${T_NO_EMBEDLY}</a>

${T_NO_VALID} =  No Valid Block
${L_NO_VALID} =  http://not.valid.url/11
${B_NO_VALID} =  <a class="external-link embedlylink" href="${L_NO_VALID}">${T_NO_VALID}</a>

${T_FLICKR} =  Embedly Flickr Block
${L_FLICKR} =  http://www.flickr.com/photos/123.jpg
${B_FLICKR} =  <a class="external-link embedlylink" href="${L_FLICKR}">${T_FLICKR}</a>

${T_YOUTUBE} =  Embedly Youtube Block
${L_YOUTUBE} =  http://www.youtube.com/watch?v=L1NPLlhFTVk
${B_YOUTUBE} =  <a class="external-link embedlylink" href="${L_YOUTUBE}">${T_YOUTUBE}</a>

${TINY_MCE} =  document.getElementById('text_ifr')
${E_BLOCK} =  css=div.embed


*** Test Cases ***

Test Embedly Video
    Create page with title Page Embedly Video and text ${B_YOUTUBE}
    Page Should Not Contain  ${T_YOUTUBE}
    Page Should Contain Element  ${E_BLOCK}

Test Embedly Image
    Create page with title Page Embedly Image and text ${B_FLICKR}
    Page Should Not Contain  ${T_FLICKR}
    Page Should Contain Element  ${E_BLOCK}

Test Embedly No Valid URL
    Create page with title Page Embedly No Valid URL and text ${B_NO_VALID}
    Page Should Contain  ${T_NO_VALID}
    Page Should Not Contain Element  ${E_BLOCK}

Test No Embedly
    Create page with title Page No Embedly and text ${B_NO_EMBEDLY}
    Page Should Contain  ${T_NO_EMBEDLY}
    Page Should Not Contain Element  ${E_BLOCK}


*** Keywords ***

Create page with title ${title} and text ${text}
    Open Add New Menu
    Click Link  link=Page
    Wait Until Page Contains Element  title
    Input Text  title  ${title}
    Wait Until Page Contains Element  dom=${TINY_MCE}
    Execute JavaScript  tinyMCE.activeEditor.setContent('${text}')
    Click button  Save
    Wait Until Page Contains  Changes saved.

Open Browser and login
    Open browser  ${PLONE_URL}
    Log in as site owner
    Goto homepage

Log in
    [Arguments]  ${userid}  ${password}
    Go to  ${PLONE_URL}/login_form
    Page should contain element  __ac_name
    Page should contain element  __ac_password
    Page should contain button  Log in
    Input text  __ac_name  ${userid}
    Input text  __ac_password  ${password}
    Click Button  Log in

Log in as site owner
    Log in  ${SITE_OWNER_NAME}  ${SITE_OWNER_PASSWORD}

Goto homepage
    Go to  ${PLONE_URL}
    Page should contain  Powered by Plone & Python

Open Menu
    [Arguments]  ${elementId}
    Element Should Be Visible  css=dl#${elementId} span
    Element Should Not Be Visible  css=dl#${elementId} dd.actionMenuContent
    Click link  css=dl#${elementId} dt.actionMenuHeader a
    Wait until keyword succeeds  1  5  Element Should Be Visible  css=dl#${elementId} dd.actionMenuContent

Open Add New Menu
    Open Menu  plone-contentmenu-factories

