public async void UpdateBookDetail_Success() { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(a => a.SaveAsync()); var mockDb = _repositoryMock as MockBookRepository <Book>; var book = new Book("test1", "author 1", 100); mockDb.Table.Add(book.Id, book); var updateBookDetailCommandHandler = new UpdateBookDetailCommandHandler(_repositoryMock, mockUnitOfWork.Object); var updateBookDetail = new UpdateBookDetailCommand { Id = book.Id, Name = "test2", Text = "Test Author", }; await updateBookDetailCommandHandler.HandleAsync(updateBookDetail); var row = mockDb.Table[book.Id]; Assert.Equal(updateBookDetail.Name, row.Name); Assert.Equal(updateBookDetail.Text, row.Text); }
public async Task <IActionResult> UpdateBookDetailCommand([FromBody] UpdateBookDetailCommand command) { _logger.LogInformation("Updating book details {0}", command.Name); await _mediator.DispatchAsync(command); _logger.LogInformation("Book {0} successfully updated", command.Name); return(Ok()); }
public async void UpdateBookDetail_Fail(string name, string text) { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(a => a.SaveAsync()); var mockDb = _repositoryMock as MockBookRepository <Book>; var book = new Book("test1", "author 1", 100); mockDb.Table.Add(book.Id, book); var updateBookDetailCommandHandler = new UpdateBookDetailCommandHandler(_repositoryMock, mockUnitOfWork.Object); var updateBookDetail = new UpdateBookDetailCommand { Id = book.Id, Name = name, Text = text, }; await Assert.ThrowsAsync <ValidateException>(() => updateBookDetailCommandHandler.HandleAsync(updateBookDetail)); }