public async void FindBookRoute_Test()
        {
            // Arrange
            var newBook   = CreateBook();
            var genreList = new List <Genre>()
            {
                new Genre()
                {
                    Name = "name 1"
                }
            };

            _bookRepository
            .Setup(x => x.Single(It.IsAny <Expression <Func <Book, bool> > >()))
            .ReturnsAsync(newBook);

            _bookRepository
            .Setup(x =>
                   x.GetAllRelated <Genre, InGenre>(It.IsAny <Expression <Func <Book, bool> > >(), It.IsAny <Genre>(), It.IsAny <InGenre>()))
            .ReturnsAsync(genreList);

            var bookController = new BookController(_bookRepository.Object, _genreRepository.Object, _mapper);

            // Act
            var result = await bookController.FindBookAsync(newBook.Id);

            var okResult         = result as OkObjectResult;
            var returnedBookjson = okResult.Value as string;
            var returnedBook     = JsonSerializer.Deserialize <Book>(returnedBookjson);

            // Assert
            Assert.True(okResult != null);
            Assert.True(returnedBook != null);
            Assert.Equal(200, okResult.StatusCode);
        }