public async void AddBookFailForNegativePurchasePrice() { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(a => a.SaveAsync()); var addBookCommandHandler = new AddBookCommandHandler(_repositoryMock, mockUnitOfWork.Object); var addBookCommand = new AddBookCommand { Name = "test1", Text = "Test Author", PurchasePrice = -5 }; await Assert.ThrowsAsync <ValidateException>(() => addBookCommandHandler.HandleAsync(addBookCommand)); }
public async void AddBookSuccess() { var mockUnitOfWork = new Mock <IUnitOfWork>(); mockUnitOfWork.Setup(a => a.SaveAsync()); var addBookCommandHandler = new AddBookCommandHandler(_repositoryMock, mockUnitOfWork.Object); var addBookCommand = new AddBookCommand { Name = "test1", Text = "Test Author", PurchasePrice = 5 }; await addBookCommandHandler.HandleAsync(addBookCommand); var dbCheck = _repositoryMock as MockBookRepository <Book>; Assert.Single(dbCheck.Table); Assert.Contains(dbCheck.Table.Values, a => a.Name == addBookCommand.Name && a.Text == addBookCommand.Text && a.PurchasePrice == addBookCommand.PurchasePrice); }