Closed kempl95 closed 4 years ago
Фактически потраченное время - 12 часов. Т.к. я долго пытался словить форму. Как оказалось при redirect форма не ловится и его ошибки, в итоге я создал тестовый контроллер, который не редайректит, но мне сказали, что может быть неправильно. Много врмени ушло, на придумывания и поиск способа поймать ошибки.
Прошу перенести на следующий спринт
Закрыл случайно
Помощь разработчику.
Изучал как можно получить данные из mvcResult.getFlashMap().get("errors")
. Оказалось что возвращается объект типа java.util.Collections$UnmodifiableList
, с которым не получалось взаимодействовать. В связи с этим временным решением, создал метод, который парсит mvcResult.getFlashMap().get("errors").toString()
Но данное решение было не совсем корректным, поэтому после обсуждения с наставником все-таки нашел решение:
List<FieldError> errors = (List<FieldError>) mvcResult.getFlashMap().get("errors");
Возвращает коллекцию из FieldError, в котором содержатся все полученные ошибки. Далее можно их сравнивать через AssertEquals
Фактически потраченное время: 5 часов.
Фактически потраченное время - 2 часа. Саму задачу решил Камил, мне оставалось писать тесты. На написания и перезапуск каждого уходило не мало времени.
Что надо сделать? Доработать unit тест с помощью объекта MockMVC, который будет проверять обработку Post запросов, при регистраций доктора через панель админа ЛПУ по следующей схеме
Для чего это нужно? Чтобы проверить контролер на: -корректное определения требуемого действия, -корректное принятия данных и возврата результат. -корректную работу метода при поступлении некорректных данных - проверка валидации Чтобы контролировать исправного выполнения исходного кода, при изменений в будущем
Как понять, что задача решена? Для Post запроса будут созданы тесты, проверяющие валидационные ошибки в случаях, если в body запроса поступают некорректные данные: o ИНН: Больше 14 символов - Ожидаем сообщение ошибки "Требуется ввести 14 цифр" в поле "inn" o ИНН: Меньше 14 символов - Ожидаем сообщение ошибки "Требуется ввести 14 цифр" в поле "inn" o ИНН: Инн, начинающийся не с 1 или 2 - Ожидаем сообщение ошибки "ИНН состоит только из цифр начинается с 1 или 2 :
переданное значение
" в поле "inn" o ИНН: Инн, содержащий в себе буквы/символы - Ожидаем сообщение ошибки "ИНН состоит только из цифр начинается с 1 или 2 :переданное значение
" в поле "inn" o ИНН: Без ИНН (Null) - Ожидаем сообщение ошибки "Это поле не может быть пустым" в поле "inn" o Пароль: Без пароля (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "password" o Пароль: Пароль меньше 8 символов - Ожидаем сообщение ошибки "Пароль должен содержать минимум 8 символов" в поле "password" o Номер документа: Без номера документа (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "documentNumber" o Номер документа: Больше 9 символов - Ожидаем сообщение ошибки "Требуется ввести 9 значений без пробела" в поле "documentNumber" o Номер документа: Меньше 9 символов - Ожидаем сообщение ошибки "Требуется ввести 9 значений без пробела" в поле "documentNumber" o Номер документа: Начинается не с AN или ID - Ожидаем сообщение ошибки "№ документа начинается с AN или ID и состоит из 7 цифр :переданное значение
" o Номер документа: Начинается с AN или ID, но содержит в последующем символы - Ожидаем сообщение ошибки "№ документа начинается с AN или ID и состоит из 7 цифр :переданное значение
" в поле "documentNumber" o Имя: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "name" o Имя: Передать не буквы - Ожидаем сообщение ошибки "Имя должно содержать только буквы :переданное значение
" в поле "name" o Фамилия: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "surname" o Фамилия: Передать не буквы - Ожидаем сообщение ошибки "Фамилия должна содержать только буквы :переданное значение
" в поле "surname" o Отчество: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "middleName" o Отчество: Передать не буквы - Ожидаем сообщение ошибки "Отчество должно содержать только буквы :переданное значение
" в поле "middleName" o Дата рождения: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "name" o Дата рождения: Передать дату рождения будущего - Ожидаем сообщение ошибки "Дата рождения не может быть в будущем времени" в поле "name" o Пол: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "gender" o Место регистрации: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "placeId" o Должность: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "positionId" o Роль: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "roleId" o ЛПУ: Пустое (Null) - Ожидаем сообщение ошибки "Обязательное поле" в поле "hospitalId"Запланированное время: 8 часов