Reputation: 2301
I have an ajax form which looks like
Form<Void>form=new Form<Void>("form");
add(form);
name=new TextField<String>("name");
form.add(name);
age=new TextField<Integer>("age");
form.add(age);
submit=new AjaxButton("submit") {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
result.setDefaultModelObject(s);
target.add(result);
}
};
form.add(submit);
How do I test such a form, with FormTester
, or in another way?
Upvotes: 0
Views: 331
Reputation: 2301
Indeed, I can use FormTester, but I must do
wicketTester.executeAjaxEvent("form:submit", "click");
instead of
formTester.submit();
Also, because FormTester puts the values given with .setValue()
in the post parameters, we can let BaseWicketTester.serializeFormRequest do this also, so we do not need FormTester:
wicketTester.getComponentFromLastRenderedPage("form:name").setDefaultModelObject("foo");
wicketTester.getComponentFromLastRenderedPage("form:age").setDefaultModelObject("7");
wicketTester.executeAjaxEvent("form:ajx", "click");
Upvotes: 0
Reputation: 5681
Just use FormTester, it will take care of simulating an Ajax request:
formTester.submit(button);
Upvotes: 1