Как проверить определенные условия на уровне контроллера? - PullRequest
0 голосов
/ 09 июня 2019

Итак ... у меня есть простой метод "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());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...