I'm using WicketTester with wicket 1.3.0-rc1 and I've run into some
problems when I test form validation. I submit an invalid form and as
expected I am returned to the same page with feedback errors. In the
same test, I correct the error in the form and resubmit. Instead of the
form being submitted and the result page rendered the same form page is
rendered with the same validation error. The form is correctly submitted
if there is no validation error on the first try.
@Test
public void testOne() {
WicketTester tester = new WicketTester();
tester.startPage(DemoPage.class);
tester.assertRenderedPage(DemoPage.class);
tester.assertComponent("demoForm", Form.class);
tester.assertComponent("demoForm:name", RequiredTextField.class);
// submit an invalid form
FormTester form = tester.newFormTester("demoForm");
form.submit();
// validation should keep us on the same page
tester.assertRenderedPage(DemoPage.class);
// submit a valid form and we should be sent to the result page
form = tester.newFormTester("demoForm");
form.setValue("name", "ASDF");
form.submit();
// this is where the failure occurs
// we remain on DemoPage
// the error message is "Field 'name' is required."
tester.assertRenderedPage(ResultPage.class);
}
@Test
public void testTwo() {
WicketTester tester = new WicketTester();
tester.startPage(DemoPage.class);
tester.assertRenderedPage(DemoPage.class);
tester.assertComponent("demoForm", Form.class);
tester.assertComponent("demoForm:name", RequiredTextField.class);
// submit a valid form and we should be sent to the result page
FormTester form = tester.newFormTester("demoForm");
form.setValue("name", "ASDF");
form.submit();
// this works fine
tester.assertRenderedPage(ResultPage.class);
}
In the code above, testTwo passes successfully but testOne fails with
"expected:<ResultPage> but was:<DemoPage>"
Am I doing something wrong in my use of WicketTester?
Many thanks
Neil
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]