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()); }
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); }
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); }