KickJava   Java API By Example, From Geeks To Geeks.

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


1 package org.appfuse.webapp.action;
2
3 import javax.servlet.http.HttpServletResponse JavaDoc;
4
5 import org.appfuse.Constants;
6 import org.springframework.mock.web.MockHttpServletRequest;
7 import org.springframework.mock.web.MockHttpServletResponse;
8 import org.springframework.validation.BindException;
9 import org.springframework.validation.Errors;
10 import org.springframework.web.servlet.ModelAndView;
11
12 import com.dumbster.smtp.SimpleSmtpServer;
13
14
15 public class SignupControllerTest extends BaseControllerTestCase {
16     private SignupController c;
17
18     protected void setUp() throws Exception JavaDoc {
19         // needed to initialize a user
20
super.setUp();
21         c = (SignupController) ctx.getBean("signupController");
22     }
23
24     protected void tearDown() throws Exception JavaDoc {
25         super.tearDown();
26         c = null;
27     }
28     
29     public void testDisplayForm() throws Exception JavaDoc {
30         MockHttpServletRequest request = newGet("/signup.html");
31         HttpServletResponse JavaDoc response = new MockHttpServletResponse();
32         ModelAndView mv = c.handleRequest(request, response);
33         assertTrue("returned correct view name", mv.getViewName().equals("signup"));
34     }
35
36     public void testSignupUser() throws Exception JavaDoc {
37         MockHttpServletRequest request = newPost("/signup.html");
38         request.addParameter("username", "self-registered");
39         request.addParameter("password", "Password1");
40         request.addParameter("confirmPassword", "Password1");
41         request.addParameter("firstName", "First");
42         request.addParameter("lastName", "Last");
43         request.addParameter("address.city", "Denver");
44         request.addParameter("address.province", "Colorado");
45         request.addParameter("address.country", "USA");
46         request.addParameter("address.postalCode", "80210");
47         request.addParameter("email", "self-registered@raibledesigns.com");
48         request.addParameter("website", "http://raibledesigns.com");
49         request.addParameter("passwordHint", "Password is one with you.");
50
51         HttpServletResponse JavaDoc response = new MockHttpServletResponse();
52         
53         SimpleSmtpServer server = SimpleSmtpServer.start(2525);
54         
55         ModelAndView mv = c.handleRequest(request, response);
56         Errors errors =
57             (Errors) mv.getModel().get(BindException.MODEL_KEY_PREFIX + "user");
58         assertTrue("no errors returned in model", errors == null);
59         
60         // verify an account information e-mail was sent
61
server.stop();
62         assertTrue(server.getReceivedEmailSize() == 1);
63         
64         // verify that success messages are in the request
65
assertNotNull(request.getSession().getAttribute("successMessages"));
66         assertNotNull(request.getSession().getAttribute(Constants.REGISTERED));
67     }
68 }
69
Popular Tags