1 | class @webtest.name.caps@Test extends grails.util.WebTest { |
---|
2 | |
---|
3 | // Unlike unit tests, functional tests are often sequence dependent. |
---|
4 | // Specify that sequence here. |
---|
5 | void suite() { |
---|
6 | test@webtest.name.caps@ListNewDelete() |
---|
7 | // add tests for more operations here |
---|
8 | } |
---|
9 | |
---|
10 | def test@webtest.name.caps@ListNewDelete() { |
---|
11 | webtest('@webtest.name.caps@ basic operations: view list, create new entry, view, edit, delete, view') { |
---|
12 | invoke(url:'@webtest.name.lower@') |
---|
13 | verifyText(text:'Home') |
---|
14 | |
---|
15 | verifyListPage(0) |
---|
16 | |
---|
17 | clickLink(label:'New @webtest.name.caps@') |
---|
18 | verifyText(text:'Create @webtest.name.caps@') |
---|
19 | clickButton(label:'Create') |
---|
20 | verifyText(text:'Show @webtest.name.caps@', description:'Detail page') |
---|
21 | clickLink(label:'List', description:'Back to list view') |
---|
22 | |
---|
23 | verifyListPage(1) |
---|
24 | |
---|
25 | group(description:'edit the one element') { |
---|
26 | clickLink(label:'Show', description:'go to detail view') |
---|
27 | clickButton(label:'Edit') |
---|
28 | verifyText(text:'Edit @webtest.name.caps@') |
---|
29 | clickButton(label:'Update') |
---|
30 | verifyText(text:'Show @webtest.name.caps@') |
---|
31 | clickLink(label:'List', description:'Back to list view') |
---|
32 | } |
---|
33 | |
---|
34 | verifyListPage(1) |
---|
35 | |
---|
36 | group(description:'delete the only element') { |
---|
37 | clickLink(label:'Show', description:'go to detail view') |
---|
38 | clickButton(label:'Delete') |
---|
39 | verifyXPath(xpath:"//div[@class='message']", text:/@webtest.name.caps@.*deleted./, regex:true) |
---|
40 | } |
---|
41 | |
---|
42 | verifyListPage(0) |
---|
43 | } |
---|
44 | } |
---|
45 | |
---|
46 | String ROW_COUNT_XPATH = "count(//td[@class='actionButtons']/..)" |
---|
47 | |
---|
48 | def verifyListPage(int count) { |
---|
49 | ant.group(description:"verify @webtest.name.caps@ list view with $count row(s)") { |
---|
50 | verifyText(text:'@webtest.name.caps@ List') |
---|
51 | verifyXPath(xpath:ROW_COUNT_XPATH, text:count, description:"$count row(s) of data expected") |
---|
52 | } |
---|
53 | } |
---|
54 | } |
---|