/sigmah/src/test/java/org/sigmah/server/bootstrap/ConfirmInviteControllerTest.java

http://sigma-h.googlecode.com/ · Java · 80 lines · 51 code · 25 blank · 4 comment · 0 complexity · b3310bbd97a7d0d66a146b36d5a89df3 MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.bootstrap;
  6. import org.junit.Before;
  7. import org.junit.Test;
  8. import org.sigmah.server.bootstrap.model.ConfirmInvitePageModel;
  9. import org.sigmah.server.bootstrap.model.InvalidInvitePageModel;
  10. import javax.servlet.ServletException;
  11. import java.io.IOException;
  12. import static org.junit.Assert.*;
  13. public class ConfirmInviteControllerTest extends ControllerTestCase {
  14. @Before
  15. public void setUp() {
  16. controller = new ConfirmInviteController(injector, templateCfg);
  17. }
  18. public void fillOutForm() {
  19. req.addParameter("key", NEW_USER_KEY);
  20. req.addParameter("password", "mynewpassword123");
  21. req.addParameter("locale", NEW_USER_CHOSEN_LOCALE);
  22. req.addParameter("name", NEW_USER_NAME);
  23. }
  24. @Test
  25. public void requestWithValidKeyShouldGetView() throws IOException, ServletException {
  26. req.setQueryString(NEW_USER_KEY);
  27. get();
  28. assertTemplateUsed(ConfirmInvitePageModel.class);
  29. assertEquals(NEW_USER_KEY, lastNewUserPageModel().getUser().getChangePasswordKey());
  30. }
  31. @Test
  32. public void badKeyShouldGetProblemPage() throws IOException, ServletException {
  33. req.setQueryString(BAD_KEY);
  34. get();
  35. assertTemplateUsed(InvalidInvitePageModel.class);
  36. }
  37. @Test
  38. public void passwordShouldBeSetAfterNewUserCompletion() throws IOException, ServletException {
  39. fillOutForm();
  40. post();
  41. assertNotNull("password set", newUser.getHashedPassword());
  42. assertEquals("name set", NEW_USER_NAME, newUser.getName());
  43. assertEquals("locale set", NEW_USER_CHOSEN_LOCALE, newUser.getLocale());
  44. assertNull("change password key cleared", newUser.getChangePasswordKey());
  45. assertFalse("new user flag cleared", newUser.isNewUser());
  46. }
  47. @Test
  48. public void emptyPasswordShouldNotBeAccepted() throws IOException, ServletException {
  49. fillOutForm();
  50. req.setParameter("password", "");
  51. post();
  52. assertTemplateUsed(ConfirmInvitePageModel.class);
  53. assertTrue("error message set", lastNewUserPageModel().isFormIncomplete());
  54. }
  55. }