1

Тема: Тестування валідації

Всім привіт, маю такий метод контроллера:

@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 не можна мокати, то який є ще варіант? Дякую