Esempio n. 1
0
        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));
        }