@Test
  public void storeRating() throws Exception {
    repository.add(new BookRating(A_BOOK_RATING_ID, A_BOOK_ID, Rating.value(3)));
    repository.add(new BookRating(ANOTHER_BOOK_RATING_ID, A_BOOK_ID, Rating.value(4)));

    assertThat(
        repository.allRatings(),
        is(
            asList(
                new BookRating(A_BOOK_RATING_ID, A_BOOK_ID, Rating.value(3)),
                new BookRating(ANOTHER_BOOK_RATING_ID, A_BOOK_ID, Rating.value(4)))));
  }
  public BookRatingResponse execute(BookRatingRequest request) {
    Book book = aBookFoundWithId(request.getBookId());
    BookRating rate = book.rate(Rating.value(request.getRating()));

    bookRatingRepository.add(rate);

    return new BookRatingResponse();
  }