Итак ... у меня есть простой метод "addUser" в моем контроллере.Я хочу протестировать первый оператор if, когда пользователь с указанным адресом электронной почты уже существует в базе данных.В методе setUp я создаю пример пользователя с полями, такими как имя, фамилия, адрес электронной почты и т. Д. Когда я поместил точно такое же письмо, как param в mockMvc, я ожидал, что он вернет регистр "/ new-регистр ", но вместо этого он возвращает " регистрация / регистрация-успех ".Я новичок в тестировании, но не смог найти ответ на эту проблему.Вот мой кодПожалуйста, скажите мне, как проверить эту часть или хотя бы если я даже делаю это правильно ?
@PostMapping("/register")
public String addUser(@ModelAttribute @Valid User user,
BindingResult bindResult) {
if(userService.isAlreadyRegistered(user.getEmail())){
bindResult.rejectValue("email", "email.exists", "Email already in database");
return "register/new-register";
}
else if(bindResult.hasErrors())
return "register/new-register";
else {
userService.addWithDefaultRole(user);
return "register/register-success";
}
}
@Test
@WithMockUser
public void addUserExists() throws Exception{
mockMvc.perform(post("/user/register")
.param("firstName", "test")
.param("lastName", "test")
.param("email", "test@test.com")
.param("password", "test"))
.andExpect(view().name("register/new-register"))
.andExpect(status().isOk());
}