I'm stuck on something that seems like a very trivial problem.. I have
a form with a RequiredTextField that i want to run some tests on using
FormTester. The form is submitted using a SubmitLink located outside
of the <form> tags. My problem is that even when i set a value on the
RequiredTextField the form submission is failing - because of that the
required field is missing.


test-code:

tester.startPage(HomePage.class);
tester.assertRenderedPage(HomePage.class);

FormTester formTester = tester.newFormTester("testForm", false);
formTester.setValue("name", "a name");

formTester.submitLink("mySubmitLink", true);
tester.assertNoErrorMessage();


java-code:

public class HomePage extends WebPage {

  private static final long serialVersionUID = 1L;
  private final ValueMap properties = new ValueMap();

  public HomePage(final PageParameters parameters) {
      Form<Object> f = new Form<Object>("testForm", new
CompoundPropertyModel<Object>(properties));
      add(f);
      f.add(new RequiredTextField<String>("name"));             
      add(new SubmitLink("mySubmitLink", f));
    }
}


markup:

<html 
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd";
>
    <body>
        <form wicket:id="testForm">
                <input wicket:id="name"></input>                
        </form>
        <a href="#" wicket:id="mySubmitLink">submit</a>
    </body>
</html>


stacktrace:

junit.framework.AssertionFailedError: expect no error message, but contains
   Field 'name' is required.
        at junit.framework.Assert.fail(Assert.java:47)
        at junit.framework.Assert.assertTrue(Assert.java:20)
        at 
org.apache.wicket.util.tester.WicketTester.assertNoErrorMessage(WicketTester.java:501)
        at 
com.metria.test.atest.TestHomePage.testRenderMyPage(TestHomePage.java:30)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at junit.framework.TestCase.runTest(TestCase.java:164)
        at junit.framework.TestCase.runBare(TestCase.java:130)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:120)
        at junit.framework.TestSuite.runTest(TestSuite.java:230)
        at junit.framework.TestSuite.run(TestSuite.java:225)
        at 
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)



Any help would be appreciated! Thanks,
jan

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to