TestNewsletterModule
open /seagull/branches/0.6-bugfix/www/index.php
type frm_username_block admin
type frm_password_block admin
clickAndWait submitted
clickAndWait displayDeRegisteredModules
clickAndWait //tr[19]/td[7]/a[1]/img
clickAndWait link=logout
open /seagull/branches/0.6-bugfix/www/index.php/newsletter
type frmName Bob Smith
type frmEmail bob@example.com
assertElementPresent document.NewsletterMgr.submitted
click frmListName[]
clickAndWait document.NewsletterMgr.submitted
verifyTextPresent Thank you for subscribing to our newsletter! An email was sent to your e-mail address to confirm your action. Please check your e-mail.
assertElementNotPresent document.getElementById('errorWrapper')
type frm_username_block admin
type frm_password_block admin
clickAndWait submitted
assertElementNotPresent document.getElementById('errorWrapper')
assertElementPresent link=Newsletter
clickAndWait link=Newsletter
assertElementNotPresent document.getElementById('errorWrapper')
verifyTextPresent Manage Subscribers
assertElementPresent link=Manage Subscribers
assertElementPresent link=Manage Lists
assertElementPresent link=Compose Newsletter
assertElementPresent link=Add Subscriber
assertElementPresent link=Export Subscriber
assertTextPresent general
assertTextPresent bob@example.com
assertTextPresent Bob Smith
assertTextPresent Waiting
assertTextPresent subscribe
assertElementPresent delete
assertElementPresent link=bob@example.com
clickAndWait link=bob@example.com
assertElementNotPresent document.getElementById('errorWrapper')
assertValue oUser[name] Bob Smith
assertTextPresent bob@example.com
assertTextPresent general
assertElementPresent link=Save
assertElementPresent link=Cancel
assertElementPresent keygen
select oUser[status] label=Active
clickAndWait link=Save
verifyTextPresent Subscriber updated successfully
assertElementNotPresent document.getElementById('errorWrapper')
assertTextPresent Active
click frmDelete[]
clickAndWait delete
verifyTextPresent Subscriber deleted successfully
assertElementNotPresent document.getElementById('errorWrapper')
assertTextNotPresent link=bob@example.com bob@example.com
clickAndWait link=Add Subscriber
type oUser[name] John Bird
type oUser[email] johnbird@example.com
click frmListName[]
select oUser[status] label=Waiting
select oUser[action_request] label=Active
clickAndWait link=Save
verifyTextPresent Subscriber updated successfully
assertElementNotPresent document.getElementById('errorWrapper')
clickAndWait link=Newsletter
clickAndWait link=Manage Lists
assertElementNotPresent document.getElementById('errorWrapper')
assertTextPresent general
assertTextPresent To stay informed you may join our general discussion list.
assertElementPresent delete
assertElementPresent link=Add List
assertElementPresent link=general
clickAndWait link=Add List
type oUser[list] developer
type oUser[name] this list is to keep developers informed
assertElementPresent link=Save
assertElementPresent link=Cancel
clickAndWait link=Save
verifyTextPresent List updated successfully
assertElementNotPresent document.getElementById('errorWrapper')
assertElementPresent link=developer
assertTextPresent this list is to keep developers informed
click document.frmNewsletterList.elements['frmDelete[]'][1]
clickAndWait delete
verifyTextPresent List deleted successfully
assertElementNotPresent document.getElementById('errorWrapper')
assertElementNotPresent link=developer
clickAndWait link=Newsletter
clickAndWait link=Compose Newsletter
assertElementNotPresent document.getElementById('errorWrapper')
assertElementPresent link=Send
click frmListName[]
type frmMail example@example.com
type frmSubject Welcome to Seagull!
type frmBodyName The Seagull framework is an OO PHP framework, with core components BSD licensed, that has the following design goals:

    * independence of data, logic & presentation layers
    * extensible component architecture
    * reduction of repetitive programming tasks
    * simplifying data access
    * comprehensive error handling
    * module workflow routines
    * form handling without the donkey work
    * component reuse
    * authentication management
    * integration with PEAR libraries
    * PHP coding standards
    * platform/PHP version/browser independence
    * self-generating documentation
    * quality end user docs

Seagull works 'out of the box' and is simple to install and configure, please follow the instructions in INSTALL.txt. Developer info is availabe in the project docs.

There are some default modules that come with the framework, these handle tasks related to:

    * user/group management
    * content management
    * document management
    * category management
    * messaging
    * navigation
clickAndWait link=Send
verifyTextPresent Newsletter sent successfully
assertElementNotPresent document.getElementById('errorWrapper')
clickAndWait link=logout