@@ -16,15 +16,66 @@ public class ViewTest {
1616
1717 /** Test simple retrieval of the index page. */
1818 @ Test
19- public void testIndexPage () {
19+ public void testIndexPageRetrieval () {
2020 running (testServer (testPort , fakeApplication (inMemoryDatabase ())), HTMLUNIT , new Callback <TestBrowser >() {
2121 @ Override
2222 public void invoke (TestBrowser browser ) {
23- IndexPage indexPage = new IndexPage (browser .getDriver (), testPort );
23+ IndexPage indexPage = new IndexPage (browser .getDriver (), testPort , 0 );
2424 browser .goTo (indexPage );
2525 indexPage .isAt ();
2626 }
2727 });
2828 }
29+
30+ /** Test submission of an empty form. */
31+ @ Test
32+ public void testIndexPageEmptySubmission () {
33+ running (testServer (testPort , fakeApplication (inMemoryDatabase ())), HTMLUNIT , new Callback <TestBrowser >() {
34+ @ Override
35+ public void invoke (TestBrowser browser ) {
36+ IndexPage indexPage = new IndexPage (browser .getDriver (), testPort , 0 );
37+ browser .goTo (indexPage );
38+ indexPage .isAt ();
39+ indexPage .submit ();
40+ assertThat (indexPage .hasErrorMessage ()).isTrue ();
41+ }
42+ });
43+ }
44+
45+ /** Test submission of a valid form. */
46+ @ Test
47+ public void testIndexPageValidSubmission () {
48+ running (testServer (testPort , fakeApplication (inMemoryDatabase ())), HTMLUNIT , new Callback <TestBrowser >() {
49+ @ Override
50+ public void invoke (TestBrowser browser ) {
51+ IndexPage indexPage = new IndexPage (browser .getDriver (), testPort , 1 );
52+ browser .goTo (indexPage );
53+ indexPage .isAt ();
54+ indexPage .submit ();
55+ assertThat (indexPage .hasSuccessMessage ()).isTrue ();
56+ }
57+ });
58+ }
59+
60+ /** Test submission of a filled out form. */
61+ @ Test
62+ public void testIndexPageFormFilledSubmission () {
63+ running (testServer (testPort , fakeApplication (inMemoryDatabase ())), HTMLUNIT , new Callback <TestBrowser >() {
64+ @ Override
65+ public void invoke (TestBrowser browser ) {
66+ IndexPage indexPage = new IndexPage (browser .getDriver (), testPort , 0 );
67+ browser .goTo (indexPage );
68+ indexPage .isAt ();
69+ indexPage .setName ("Ronald D. Moore" );
70+ indexPage .setPassword ("Battlestar Galactica" );
71+ indexPage .selectHobby ("Surfing" );
72+ indexPage .selectGradeLevel ("Freshman" );
73+ indexPage .selectGPA ("4.0" );
74+ indexPage .submit ();
75+ //System.out.println(browser.pageSource());
76+ assertThat (indexPage .hasSuccessMessage ()).isTrue ();
77+ }
78+ });
79+ }
2980
3081}
0 commit comments