Тема: Тестування валідації
Всім привіт, маю такий метод контроллера:
@PostMapping()
public ResponseEntity<BookDTO> saveBook(@RequestBody @Valid BookDTO book, BindingResult bindingResult) {
bookValidator.validate(book, bindingResult);
if (bindingResult.hasErrors()) throw new BookNotSavedException(bindingResult.getFieldErrors().toString());
Book savedBook = bookService.saveBook(convertToBook(book));
return new ResponseEntity<>(convertToBookDTO(savedBook), HttpStatus.OK);
}
сам метод validate bookValidator такий:
public void validate(Object target, Errors errors) {
BookDTO book = (BookDTO) target;
if (bookService.getBookByIsbn(book.getIsbn()).isPresent())
errors.rejectValue("isbn", "", "Book with isbn " + book.getIsbn() + " already exist");
}
Як написати тест, який би перевіряв коли книжка вже існує і зайшов в блок if(bindingResult.hasErrors()).Знаю, що bindingResult не можна мокати, то який є ще варіант? Дякую