*** Settings ***

Resource  keywords.txt
Library  sc.embedder.tests.test_acceptance.Keywords
Variables  plone/app/testing/interfaces.py

Suite Setup  Start Browser and Log In
Suite Teardown  Close Browser

*** Variables ***

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

${title_selector} =  input#form-widgets-IDublinCore-title
${description_selector} =  textarea#form-widgets-IDublinCore-description
${width_selector} =  input#form-widgets-width
${height_selector} =  input#form-widgets-height
${embed_html_selector} =  textarea#form-widgets-embed_html
${image_load_selector} =  input#form-widgets-image-load
${image_replace_selector} =  input#form-widgets-image-replace
${image_input_selector} =  input#form-widgets-image-upload
${url_selector} =  input#form-widgets-url

*** Test cases ***

Test CRUD
    Create  Nulla in mundo pax sincera
    Update  Blando colore oculos mundus decepit
    Delete

Test Load
    Load  http://vimeo.com/17914974

Test Required Fields
    Click Add Embedder
    Click Button  Save
    Page Should Contain  There were some errors

*** Keywords ***

Start Browser and Log In
    Open Browser  ${PLONE_URL}
    Go to  ${PLONE_URL}/login_form
    Page should contain element  __ac_name
    Input text  __ac_name  ${SITE_OWNER_NAME}
    Input text  __ac_password  ${SITE_OWNER_PASSWORD}
    Click Button  Log in
    Goto Homepage

Click Add Embedder
    Open Add New Menu
    Click Link  css=a#sc-embedder
    Page Should Contain  Add Embedder

Select File
    [arguments]  ${file}

    ${PATH_TO_TESTS} =  Get path to tests
    Choose File  css=${image_input_selector}  ${PATH_TO_TESTS}/${file}

Create
    [arguments]  ${title}

    Click Add Embedder
    Input Text  css=${title_selector}  ${title}
    Input Text  css=${width_selector}  0
    Input Text  css=${height_selector}  0
    Input Text  css=${embed_html_selector}  <br/>
    Click Button  Save
    Page Should Contain  Item created
    Page Should Contain  ${title}

Update
    [arguments]  ${description}

    Click Link  link=Edit
    Input Text  css=${description_selector}  ${description}
    Click Element  css=${image_input_selector}
    Select File  image.jpg
    Click Button  Save
    Page Should Contain  Changes saved
    Page Should Contain  ${description}

Delete
    Open Action Menu
    Click Link  css=#plone-contentmenu-actions-delete
    Click Button  Delete
    Page Should Contain  Plone site

Load
    [arguments]  ${url}

    Click Add Embedder
    Input Text  css=${url_selector}  ${url}
    Click Button  Load
    Click Button  Save
    Page Should Contain  Item created
