Testing with DropDowns - onChange event

2010-01-07 Thread Verma Shalini (HCTM/ETA)

I'm trying to test onChange even on one dropdown so that the value is changed 
in the other dropdown.When I submit the form I'm not able to get the values for 
any of the fields.
I have seen people getting the same error but there is no solution so far.
Thanks for helping in advance.


 @Test
public void testDummyPage() throws Exception
{
TestPage testPage = new TestPage(id);
wicketTester.startPage(testPage);

// assert rendered field components
wicketTester.assertComponent(form:txtName, TextField.class);
wicketTester.assertComponent(form:department, DropDownChoice.class);
wicketTester.assertComponent(form:employee, DropDownChoice.class);

FormTester formTester1 = wicketTester.newFormTester(form);
formTester1.setValue(txtName, amit);
formTester1.select(department, 0);


wicketTester.executeAjaxEvent(form:department, onchange);
wicketTester.assertComponentOnAjaxResponse(form:employee);

formTester1.select(employee, 1);

formTester1.submit(submit);


Assert.assertEquals(formTester1.getTextComponentValue(txtName), 
amit);

Assert.assertNotNull(wicketTester.getTagByWicketId(department).getValue());

Assert.assertNotNull(wicketTester.getTagByWicketId(employee).getValue());

DropDownChoice dropDownChoice = (DropDownChoice) 
wicketTester.getComponentFromLastRenderedPage(
form:department);

System.out.println( department  + 
formTester1.getForm().get(department));
Assert.assertEquals((dropDownChoice.getModelObjectAsString()), HR);
}



**
public class TestPage extends WebPage
{

private String txtName;
private String department;
private String deptName;
private String deptId;
private String employee;
private DropDownChoice ddc1;

public TestPage(String id)
{
final Form addressForm = new Form(form, new 
CompoundPropertyModel(this));
addressForm.setOutputMarkupId(true);
add(addressForm);

/*Address TextField*/
TextField addressTxtField = new TextField(txtName,
new PropertyModel(this, txtName), String.class);
addressTxtField.add(StringValidator.maximumLength(15));
addressForm.add(addressTxtField);

ListDept depList = new ArrayList();
Dept dept = new Dept();
dept.setDeptId(1);
dept.setDeptName(HR);
depList.add(dept);
Dept dept1 = new Dept();
dept1.setDeptName(AC);
dept1.setDeptId(2);
Dept dept2 = new Dept();
dept2.setDeptName(AD);
dept2.setDeptId(3);
depList.add(dept1);
depList.add(dept2);
ChoiceRenderer choiceRendererState = new ChoiceRenderer(deptName,
deptId);
//addressForm.add(new DropDownChoice(department, new 
PropertyModel(this, department), depList,
//choiceRendererState));
final DropDownChoice ddc = new DropDownChoice(department, new 
PropertyModel(this, department), Arrays.StringasList(
HR, IS, FINANCE/ACCOUNTING));
addressForm.add(ddc.setOutputMarkupId(true));

ddc1 = new DropDownChoice(employee, new PropertyModel(this, 
employee), Arrays.StringasList(
EMP1, EMP2, EMP3));
addressForm.add(ddc1.setOutputMarkupId(true));

ddc.add(new AjaxFormComponentUpdatingBehavior(onchange)
{

@Override
protected void onUpdate(AjaxRequestTarget target)
{
if (ddc.getModelObject() != null)
{


target.addComponent(ddc1.setChoices(Arrays.StringasList(EMP1, EMP2)));
}
}
});



addressForm.add(new Button(submit)
{

protected void onSubmit(AjaxRequestTarget target, Form form)
{
}
});

}

public String getTxtName()
{
return txtName;
}

public void setTxtName(String txtName)
{
this.txtName = txtName;
}

public String getDepartment()
{
return department;
}

public void setDepartment(String department)
{
this.department = department;
}

public String getDeptName()
{
return deptName;
}

public void setDeptName(String deptName)
{
this.deptName = deptName;
}

public String getDeptId()
{
return deptId;
}

public void setDeptId(String deptId)
{
this.deptId = deptId;
}

public String getEmployee()
{
return employee;
}

public void setEmployee(String employee)
{
this.employee = employee;
}
}

***
TestPage.html

html
head
title/title
meta http-equiv=Content-Type content=text/html; charset=UTF-8
/head
body
form wicket:id=form
input type=text 

Testing with DropDowns - onChange event

2010-01-07 Thread Verma Shalini (HCTM/ETA)


 I'm trying to test onChange even on one dropdown so that the value is
 changed in the other dropdown.When I submit the form I'm not able to
 get the values for any of the fields.
 I have seen people getting the same error but there is no solution so
 far.
 Thanks for helping in advance.
 
 
  @Test
 public void testDummyPage() throws Exception
 {
 TestPage testPage = new TestPage(id);
 wicketTester.startPage(testPage);
 
 // assert rendered field components
 wicketTester.assertComponent(form:txtName, TextField.class);
 wicketTester.assertComponent(form:department,
 DropDownChoice.class);
 wicketTester.assertComponent(form:employee,
 DropDownChoice.class);
 
 FormTester formTester1 = wicketTester.newFormTester(form);
 formTester1.setValue(txtName, amit);
 formTester1.select(department, 0);
 
 
 wicketTester.executeAjaxEvent(form:department, onchange);
 wicketTester.assertComponentOnAjaxResponse(form:employee);
 
 formTester1.select(employee, 1);
 
 formTester1.submit(submit);
 
 
  
 Assert.assertEquals(formTester1.getTextComponentValue(txtName),
 amit);
  
 Assert.assertNotNull(wicketTester.getTagByWicketId(department).getVa
 lue());
  
 Assert.assertNotNull(wicketTester.getTagByWicketId(employee).getValu
 e());
 
 DropDownChoice dropDownChoice = (DropDownChoice)
 wicketTester.getComponentFromLastRenderedPage(
 form:department);
 
   System.out.println( department  +
 formTester1.getForm().get(department));
 Assert.assertEquals((dropDownChoice.getModelObjectAsString()),
 HR);
 }
 
 
 
 **
 public class TestPage extends WebPage
 {
 
 private String txtName;
 private String department;
 private String deptName;
 private String deptId;
 private String employee;
 private DropDownChoice ddc1;
 
 public TestPage(String id)
 {
 final Form addressForm = new Form(form, new
 CompoundPropertyModel(this));
 addressForm.setOutputMarkupId(true);
 add(addressForm);
 
 /*Address TextField*/
 TextField addressTxtField = new TextField(txtName,
 new PropertyModel(this, txtName), String.class);
 addressTxtField.add(StringValidator.maximumLength(15));
 addressForm.add(addressTxtField);
 
 ListDept depList = new ArrayList();
 Dept dept = new Dept();
 dept.setDeptId(1);
 dept.setDeptName(HR);
 depList.add(dept);
 Dept dept1 = new Dept();
 dept1.setDeptName(AC);
 dept1.setDeptId(2);
 Dept dept2 = new Dept();
 dept2.setDeptName(AD);
 dept2.setDeptId(3);
 depList.add(dept1);
 depList.add(dept2);
 ChoiceRenderer choiceRendererState = new
 ChoiceRenderer(deptName,
 deptId);
 //addressForm.add(new DropDownChoice(department, new
 PropertyModel(this, department), depList,
 //choiceRendererState));
 final DropDownChoice ddc = new DropDownChoice(department,
 new PropertyModel(this, department), Arrays.StringasList(
 HR, IS, FINANCE/ACCOUNTING));
 addressForm.add(ddc.setOutputMarkupId(true));
 
 ddc1 = new DropDownChoice(employee, new PropertyModel(this,
 employee), Arrays.StringasList(
 EMP1, EMP2, EMP3));
 addressForm.add(ddc1.setOutputMarkupId(true));
 
 ddc.add(new AjaxFormComponentUpdatingBehavior(onchange)
 {
 
 @Override
 protected void onUpdate(AjaxRequestTarget target)
 {
 if (ddc.getModelObject() != null)
 {
 
  
 target.addComponent(ddc1.setChoices(Arrays.StringasList(EMP1,
 EMP2)));
 }
 }
 });
 
 
 
 addressForm.add(new Button(submit)
 {
 
 protected void onSubmit(AjaxRequestTarget target, Form
 form)
 {
 }
 });
 
 }
 
 public String getTxtName()
 {
 return txtName;
 }
 
 public void setTxtName(String txtName)
 {
 this.txtName = txtName;
 }
 
 public String getDepartment()
 {
 return department;
 }
 
 public void setDepartment(String department)
 {
 this.department = department;
 }
 
 public String getDeptName()
 {
 return deptName;
 }
 
 public void setDeptName(String deptName)
 {
 this.deptName = deptName;
 }
 
 public String getDeptId()
 {
 return deptId;
 }
 
 public void setDeptId(String deptId)
 {
 this.deptId = deptId;
 }
 
 public String getEmployee()
 {
 return employee;
 }
 
 public void setEmployee(String employee)
 {
 this.employee = employee;
 }
 }
 
 ***
 TestPage.html
 
 html
 head
 title/title
 

Testing with DropDowns - onChange event

2010-01-07 Thread Verma Shalini (HCTM/ETA)

 I'm trying to test onChange even on one dropdown so that the value is
 changed in the other dropdown.When I submit the form I'm not able to
 get the values for any of the fields.
 I have seen people getting the same error but there is no solution so
 far.
 Thanks for helping in advance.
 
 
  @Test
 public void testDummyPage() throws Exception
 {
 TestPage testPage = new TestPage(id);
 wicketTester.startPage(testPage);
 
 // assert rendered field components
 wicketTester.assertComponent(form:txtName, TextField.class);
 wicketTester.assertComponent(form:department,
 DropDownChoice.class);
 wicketTester.assertComponent(form:employee,
 DropDownChoice.class);
 
 FormTester formTester1 = wicketTester.newFormTester(form);
 formTester1.setValue(txtName, amit);
 formTester1.select(department, 0);
 
 
 wicketTester.executeAjaxEvent(form:department, onchange);
 wicketTester.assertComponentOnAjaxResponse(form:employee);
 
 formTester1.select(employee, 1);
 
 formTester1.submit(submit);
 
 
  
 Assert.assertEquals(formTester1.getTextComponentValue(txtName),
 amit);
  
 Assert.assertNotNull(wicketTester.getTagByWicketId(department).getVa
 lue());
  
 Assert.assertNotNull(wicketTester.getTagByWicketId(employee).getValu
 e());
 
 DropDownChoice dropDownChoice = (DropDownChoice)
 wicketTester.getComponentFromLastRenderedPage(
 form:department);
 
   System.out.println( department  +
 formTester1.getForm().get(department));
 Assert.assertEquals((dropDownChoice.getModelObjectAsString()),
 HR);
 }
 
 
 
 **
 public class TestPage extends WebPage
 {
 
 private String txtName;
 private String department;
 private String deptName;
 private String deptId;
 private String employee;
 private DropDownChoice ddc1;
 
 public TestPage(String id)
 {
 final Form addressForm = new Form(form, new
 CompoundPropertyModel(this));
 addressForm.setOutputMarkupId(true);
 add(addressForm);
 
 /*Address TextField*/
 TextField addressTxtField = new TextField(txtName,
 new PropertyModel(this, txtName), String.class);
 addressTxtField.add(StringValidator.maximumLength(15));
 addressForm.add(addressTxtField);
 
 ListDept depList = new ArrayList();
 Dept dept = new Dept();
 dept.setDeptId(1);
 dept.setDeptName(HR);
 depList.add(dept);
 Dept dept1 = new Dept();
 dept1.setDeptName(AC);
 dept1.setDeptId(2);
 Dept dept2 = new Dept();
 dept2.setDeptName(AD);
 dept2.setDeptId(3);
 depList.add(dept1);
 depList.add(dept2);
 ChoiceRenderer choiceRendererState = new
 ChoiceRenderer(deptName,
 deptId);
 //addressForm.add(new DropDownChoice(department, new
 PropertyModel(this, department), depList,
 //choiceRendererState));
 final DropDownChoice ddc = new DropDownChoice(department,
 new PropertyModel(this, department), Arrays.StringasList(
 HR, IS, FINANCE/ACCOUNTING));
 addressForm.add(ddc.setOutputMarkupId(true));
 
 ddc1 = new DropDownChoice(employee, new PropertyModel(this,
 employee), Arrays.StringasList(
 EMP1, EMP2, EMP3));
 addressForm.add(ddc1.setOutputMarkupId(true));
 
 ddc.add(new AjaxFormComponentUpdatingBehavior(onchange)
 {
 
 @Override
 protected void onUpdate(AjaxRequestTarget target)
 {
 if (ddc.getModelObject() != null)
 {
 
  
 target.addComponent(ddc1.setChoices(Arrays.StringasList(EMP1,
 EMP2)));
 }
 }
 });
 
 
 
 addressForm.add(new Button(submit)
 {
 
 protected void onSubmit(AjaxRequestTarget target, Form
 form)
 {
 }
 });
 
 }
 
 public String getTxtName()
 {
 return txtName;
 }
 
 public void setTxtName(String txtName)
 {
 this.txtName = txtName;
 }
 
 public String getDepartment()
 {
 return department;
 }
 
 public void setDepartment(String department)
 {
 this.department = department;
 }
 
 public String getDeptName()
 {
 return deptName;
 }
 
 public void setDeptName(String deptName)
 {
 this.deptName = deptName;
 }
 
 public String getDeptId()
 {
 return deptId;
 }
 
 public void setDeptId(String deptId)
 {
 this.deptId = deptId;
 }
 
 public String getEmployee()
 {
 return employee;
 }
 
 public void setEmployee(String employee)
 {
 this.employee = employee;
 }
 }
 
 ***
 TestPage.html
 
 html
 head
 title/title