package org.appfuse.webapp.action;
import org.appfuse.Constants;
import org.appfuse.model.Experience;
import org.appfuse.service.ResumeManager;
import org.appfuse.webapp.form.ExperienceForm;
public class ExperienceActionTest extends BaseStrutsTestCase {
public ExperienceActionTest(String name) {
super(name);
}
public void testSearch() throws Exception {
setRequestPathInfo("/editExperience");
addRequestParameter("action", "Search");
addRequestParameter("resumeId", "1");
actionPerform();
verifyForward("edit");
assertTrue(request.getAttribute(Constants.EXPERIENCES) != null);
ExperienceForm form =
(ExperienceForm) request.getAttribute(Constants.EXPERIENCE_KEY);
assertEquals(form.getResumeId(), "1");
verifyNoActionErrors();
}
public void testEdit() throws Exception {
setRequestPathInfo("/editExperience");
addRequestParameter("action", "Edit");
addRequestParameter("id", "1");
addRequestParameter("resumeId", "1");
actionPerform();
verifyForward("edit");
assertTrue(request.getAttribute(Constants.EXPERIENCE_KEY) != null);
verifyNoActionErrors();
}
public void testSave() throws Exception {
ResumeManager mgr = (ResumeManager) ctx.getBean("resumeManager");
Experience ex = (Experience) mgr.getExperience("1");
request.setAttribute(Constants.EXPERIENCE_KEY, convert(ex));
setRequestPathInfo("/saveExperience");
addRequestParameter("action", "Save");
addRequestParameter("resumeId", "1");
actionPerform();
verifyForward("edit");
verifyNoActionErrors();
assertNotNull(getRequest().getAttribute(Constants.EXPERIENCES));
}
public void testRemove() throws Exception {
setRequestPathInfo("/editExperience");
addRequestParameter("action", "Delete");
addRequestParameter("id", "2");
addRequestParameter("resumeId", "1");
actionPerform();
verifyForward("edit");
assertTrue(request.getAttribute(Constants.EXPERIENCES) != null);
verifyNoActionErrors();
}
public static void main(String[] args) {
junit.textui.TestRunner.run(ExperienceActionTest.class);
}
}