Ignore:
Timestamp:
May 29, 2011, 10:52:16 AM (14 years ago)
Author:
gav
Message:

Enhance and refactor functional tests to use pageId (for at{} verify) in main.gsp layout.

Location:
branches/features/purchaseOrders/test/functional
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • branches/features/purchaseOrders/test/functional/LoginSpec.groovy

    r937 r947  
    11import gnumims.functional.pages.HomePage
    22import gnumims.functional.pages.LoginPage
     3import gnumims.functional.pages.LogoutPage
    34import spock.lang.Stepwise
    45
     
    89    def "We start at the login page"() {
    910        when:
    10         go getBaseUrl()
     11        go baseUrl
    1112
    1213        then:
    13         $("h1").text() == "Welcome to gnuMims please log in"
     14        at LoginPage
    1415    }
    1516
     
    1920        form.j_username = "admin"
    2021        form.j_password = "pass"
    21         login.click(HomePage)
     22        login.click()
    2223
    2324        then:
    24         at(HomePage)
     25        at HomePage
    2526    }
    2627
    27     def "When we click logout, we go back to the login page"() {
     28    def "When we click logout, we go to the logout page"() {
    2829        when:
    29         to HomePage
    3030        logout.click()
    3131
    3232        then:
    33         at(LoginPage)
     33        at LogoutPage
     34        verifyLogoutMessage()
    3435    }
    3536
     
    3940        form.j_username = "admin"
    4041        form.j_password = "bogus"
    41         login.click(LoginPage)
     42        login.click()
    4243
    4344        then:
    44         $("div.login_message").text() == "[admin] wrong username/password."
     45        at LoginPage
     46        verifyLoginFailureMessage()
    4547    }
    4648
  • branches/features/purchaseOrders/test/functional/gnumims/functional/pages/HomePage.groovy

    r925 r947  
    11package gnumims.functional.pages
    22
    3 import geb.Page
    4 
    5 class HomePage extends Page {
    6     static url = "appCore/start"
    7 
    8     static at = { $("div#menu li.navigation_active").text() == "Home" }
     3class HomePage extends GrailsPage {
     4    static controller = "appCore"
     5    static action = "start"
    96
    107    static content = {
    118        message { $("div.body div.message").text() }
    12         logout(to:LoginPage) { $("a[class=logoutButton]") }
     9        logout(to:LogoutPage) { $("a[class=logoutButton]") }
    1310    }
    1411}
  • branches/features/purchaseOrders/test/functional/gnumims/functional/pages/LoginPage.groovy

    r938 r947  
    11package gnumims.functional.pages
    22
    3 import geb.Page
    4 
    5 class LoginPage extends Page {
    6     static url = "login/auth"
    7 
    8     static at = {$("h1").text() == "Welcome to gnuMims please log in"}
     3class LoginPage extends GrailsPage {
     4    static controller = "login"
     5    static action = "auth"
    96
    107    static content = {
    11         login { $('#loginForm input[value=Login]') }
     8        login(to:HomePage) { $('#loginForm input[value=Login]') }
    129        form { $("#loginForm") }
    1310        password { $("input[name=j_password]").value() }
     11        message { $("div.login_message").text() }
     12    }
     13
     14    def verifyLoginFailureMessage() {
     15        assert message.contains("wrong username/password.")
     16        return true
    1417    }
    1518}
Note: See TracChangeset for help on using the changeset viewer.