@Test public void testValidPayload() throws Exception { UserCreationPayload payload = new UserCreationPayload("jon", "jonsecret", "*****@*****.**"); UserCreationValidator validator = new UserCreationValidator(payload); assertTrue(validator.isValid()); assertTrue(validator.getErrors().isEmpty()); }
@Test public void testInvalidPayload_BadPassword() throws Exception { UserCreationPayload payload = new UserCreationPayload("jon", "abc123*", "*****@*****.**"); UserCreationValidator validator = new UserCreationValidator(payload); assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertThat(validator.getErrors(), hasItem(new Error("400", "password-bad"))); }
@Test public void testInvalidPayload_BadEmail() throws Exception { UserCreationPayload payload = new UserCreationPayload("jon", "jonsecret", "jon@[email protected]"); UserCreationValidator validator = new UserCreationValidator(payload); assertFalse(validator.isValid()); assertEquals(1, validator.getErrors().size()); assertThat(validator.getErrors(), hasItem(new Error("400", "email-bad-syntax"))); }
@Test public void testInvalidPayload_Empty() throws Exception { UserCreationPayload payload = new UserCreationPayload(); UserCreationValidator validator = new UserCreationValidator(payload); assertFalse(validator.isValid()); assertEquals(3, validator.getErrors().size()); assertThat( validator.getErrors(), hasItems( new Error("400", "username"), new Error("400", "email"), new Error("400", "password"))); }