public void UpdateBook_ExistingBook_ReturnsGetBookDto() { AddBookDto newBook = BookTestData.AddBookDto(); mapperMock.Setup(m => m.Map <Book>(It.IsAny <AddBookDto>())).Returns(BookTestData.Book()); mapperMock.Setup(m => m.Map <UpdateBookDto>(It.IsAny <GetBookDto>())).Returns(BookTestData.AddBookDtoToUpdateBookDtoMapping()); mapperMock.Setup(m => m.Map <GetBookDto>(It.IsAny <Book>())).Returns(BookTestData.AddBookDtoToGetBookDtoMapping()); BookService bookService = new BookService(mapperMock.Object, dbContextMock.Object); ServiceResponse <List <GetBookDto> > addBookResponse = bookService.AddBook(newBook); GetBookDto addedBook = addBookResponse.Data.First(); UpdateBookDto updatedBook = mapperMock.Object.Map <UpdateBookDto>(addedBook); updatedBook.Price = 900; ServiceResponse <GetBookDto> updatedBookResponse = bookService.UpdateBook(updatedBook); GetBookDto savedBook = updatedBookResponse.Data; Assert.That(updatedBookResponse.Success, Is.EqualTo(true)); Assert.That(updatedBookResponse, Is.InstanceOf <ServiceResponse <GetBookDto> >()); Assert.That(savedBook, Is.InstanceOf <GetBookDto>()); Assert.That(savedBook.Price, Is.EqualTo(updatedBook.Price)); }