@Test public void shouldRejectEmailIfInUse() { PersistedUserValidator persistedUserValidator = new PersistedUserValidator(userService); when(userService.hasUser("admin")).thenReturn(false); UserDto user = new UserDto(); user.setUserName("john"); when(userService.hasEmail("*****@*****.**")).thenReturn(true); List<String> errors = new ArrayList<>(); persistedUserValidator.validate(getExampleStartupForm(), errors, ConfigSource.FILE); assertTrue(errors.contains("server.error.email.exist")); }
@Test public void shouldRejectOnlyUserIfUserExistsAndIsRegisteredWithIdenticalEmail() { PersistedUserValidator persistedUserValidator = new PersistedUserValidator(userService); when(userService.hasUser("admin")).thenReturn(true); UserDto userDto = new UserDto(); userDto.setUserName("admin"); when(userService.hasEmail("*****@*****.**")).thenReturn(true); List<String> errors = new ArrayList<>(); persistedUserValidator.validate(getExampleStartupForm(), errors, ConfigSource.FILE); assertTrue(errors.contains("server.error.user.exist")); assertFalse(errors.contains("server.error.email.exist")); }