Exemplo n.º 1
0
        public async Task UpdateBookAsync_ShouldReturnTrue_WhenBookUpdated()
        {
            //Arrange
            var bookId    = new Random().Next(1, int.MaxValue);
            var bookTitle = "Book test title";
            var book      = new Book()
            {
                Id = bookId, Title = bookTitle, Company = "Company Test", Edition = 1, PublishYear = "2000", Value = 100m
            };

            repoWrapperMock.Setup(p => p.Book.GetBookByIdAsync(bookId))
            .ReturnsAsync(book);

            var bookForUpdated = new BookPut()
            {
                Title = "Book test title updated"
            };

            repoWrapperMock.Setup(p => p.Book.UpdateBookAsync(book));

            //Act
            var isBookUpdated = await bookService.UpdateBookAsync(bookId, bookForUpdated);

            //Assert
            Assert.True(isBookUpdated);
        }
        public async ValueTask <IActionResult> UpdateBook(int bookId, [FromBody] BookPut bookPut)
        {
            var isUpdated = await _service.UpdateBookAsync(bookId, bookPut);

            if (!isUpdated)
            {
                return(NotFound());
            }

            return(NoContent());
        }
Exemplo n.º 3
0
        public async ValueTask <bool> UpdateBookAsync(int Id, BookPut book)
        {
            var bookEntity = await _repository.Book.GetBookByIdAsync(Id);

            if (bookEntity == null)
            {
                _logger.LogError($"Book with id: {Id}, not found in db.");
                return(false);
            }

            var mappedBook = _mapper.Map(book, bookEntity);

            await _repository.Book.UpdateBookAsync(mappedBook);

            return(true);
        }
Exemplo n.º 4
0
        public async Task UpdateBookAsync_ShouldReturnFalse_WhenBookNotFound()
        {
            //Arrange
            var bookId         = new Random().Next(1, int.MaxValue);
            var bookForUpdated = new BookPut()
            {
                Title = "Book test title updated"
            };

            repoWrapperMock.Setup(p => p.Book.GetBookByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(() => null);

            //Act
            var isBookUpdated = await bookService.UpdateBookAsync(bookId, bookForUpdated);

            //Assert
            Assert.False(isBookUpdated);
        }