source: branches/features/purchaseOrders/test/functional/GebReportingSpecBase.groovy @ 949

Last change on this file since 949 was 949, checked in by gav, 13 years ago

Functional test, extend 'If we type in the wrong password or username' to be data driven.

File size: 1.3 KB
Line 
1import geb.spock.GebReportingSpec
2import gnumims.functional.pages.HomePage
3import gnumims.functional.pages.LoginPage
4
5/**
6 * Provides a base class for functional testing.
7 * Significantly speedup functional test development:
8 *  Run `grails test run-app`.
9 *  In a separate process run `grails interactive`
10 *  At the prompt `test-app functional: -baseUrl=http://localhost:8080/gnuMims -echoOut`
11 *  Hit enter to repeat tests very quickly.
12 */
13class GebReportingSpecBase extends GebReportingSpec {
14    def appName = grails.util.Metadata.current.'app.name'
15    String getBaseUrl() { "http://localhost:8080/$appName/" }
16    File getReportDir() { new File("target/test-reports/geb-pages") }
17
18    /**
19     * Logs into the application either via a target page that requires
20     * authentication or by directly requesting the login page.
21     */
22    void login(username, password, targetPage = null, params = [:]) {
23        if (targetPage) {
24            to([*:params], targetPage)
25            page LoginPage
26        }
27        else {
28            to LoginPage
29        }
30
31        form.j_username = username
32        form.j_password = password
33
34        //if (targetPage) login.click(targetPage)
35        if (targetPage) loginButton.click(HomePage) // gnuMims will always start at HomePage.
36        else loginButton.click(HomePage)
37    }
38}
Note: See TracBrowser for help on using the repository browser.