KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > appfuse > webapp > action > UserFormControllerTest


1 package org.appfuse.webapp.action;
2
3 import org.appfuse.model.User;
4 import org.springframework.mock.web.MockHttpServletRequest;
5 import org.springframework.mock.web.MockHttpServletResponse;
6 import org.springframework.validation.BindException;
7 import org.springframework.validation.Errors;
8 import org.springframework.web.servlet.ModelAndView;
9
10 public class UserFormControllerTest extends BaseControllerTestCase {
11     private UserFormController c;
12     private MockHttpServletRequest request;
13     private ModelAndView mv;
14
15     protected void setUp() throws Exception JavaDoc {
16         // needed to initialize a user
17
super.setUp();
18         c = (UserFormController) ctx.getBean("userFormController");
19     }
20
21     protected void tearDown() {
22         c = null;
23     }
24
25     public void testCancel() throws Exception JavaDoc {
26         log.debug("testing cancel...");
27         request = newPost("/editUser.html");
28         request.addParameter("cancel", "");
29
30         mv = c.handleRequest(request, new MockHttpServletResponse());
31
32         assertEquals("redirect:mainMenu.html", mv.getViewName());
33     }
34
35     public void testEdit() throws Exception JavaDoc {
36         log.debug("testing edit...");
37         request = newGet("/editUser.html");
38         request.addParameter("username", "tomcat");
39
40         mv = c.handleRequest(request, new MockHttpServletResponse());
41
42         assertEquals("userForm", mv.getViewName());
43         User editUser = (User) mv.getModel().get(c.getCommandName());
44         assertEquals("Tomcat User", editUser.getFullName());
45     }
46
47     public void testSave() throws Exception JavaDoc {
48         request = newPost("/editUser.html");
49         // set updated properties first since adding them later will
50
// result in multiple parameters with the same name getting sent
51
user.setConfirmPassword(user.getPassword());
52         user.setLastName("Updated Last Name");
53         super.objectToRequestParameters(user, request);
54         
55         mv = c.handleRequest(request, new MockHttpServletResponse());
56
57         log.debug(mv.getModel());
58         Errors errors = (Errors) mv.getModel().get(BindException.MODEL_KEY_PREFIX + "user");
59         assertNull(errors);
60         assertNotNull(request.getSession().getAttribute("successMessages"));
61     }
62     
63     public void testAddWithMissingFields() throws Exception JavaDoc {
64         request = newPost("/editUser.html");
65         request.addParameter("firstName", "Julie");
66         request.setRemoteUser("tomcat");
67
68         mv = c.handleRequest(request, new MockHttpServletResponse());
69
70         Errors errors = (Errors) mv.getModel().get(BindException.MODEL_KEY_PREFIX + "user");
71         assertTrue(errors.getAllErrors().size() == 10);
72     }
73     
74     public void testRemove() throws Exception JavaDoc {
75         request = newPost("/editUser.html");
76         request.addParameter("delete", "");
77         request.addParameter("id", "2");
78
79         mv = c.handleRequest(request, new MockHttpServletResponse());
80         
81         assertNotNull(request.getSession().getAttribute("successMessages"));
82     }
83 }
84
Popular Tags