public BooksController(AllBooksQueryHandler allBooksQueryHandler, GetBookQueryHandler bookQueryHandler, AddBookCommandHandler addBookQueryHandler, DeleteBookCommandHandler deleteBookCommandHandler) { _allBooksQueryHandler = allBooksQueryHandler; _bookQueryHandler = bookQueryHandler; _addBookQueryHandler = addBookQueryHandler; _deleteBookCommandHandler = deleteBookCommandHandler; }
private GenerateQueryResult GenerateQuery(int entitiesCount) { var authors = Storage.GenerateAuthors(entitiesCount); var genres = Storage.GenerateGenres(entitiesCount); var books = Storage.GenerateBooks(entitiesCount, authors[0], genres[0]); var mockedContext = new Mock <IContext>(); mockedContext.Setup(x => x.Authors).ReturnsDbSet(authors); mockedContext.Setup(x => x.Books).ReturnsDbSet(books); mockedContext.Setup(x => x.Genres).ReturnsDbSet(genres); var context = mockedContext.Object; var addBookHandler = new AddBookCommandHandler(_mapper, context); var authorFinder = new FindAuthorQuery(_mapper, context); var genreFinder = new FindGenreQuery(_mapper, context); var query = new AddBookUseCase(new AddBookRequestValidator(), authorFinder, genreFinder); return(new GenerateQueryResult { Books = books, Authors = authors, Genres = genres, Testable = query, }); }
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 Task AddNewBooksAsync() { //Arrange var mediator = new Mock <IMediator>(); var unitOfWork = new Mock <IUnitOfWork>(); var request = new Mock <IRequest <BookItemDto> >(); AddBookCommand addBookCommand = new AddBookCommand(new BookItemDto()); AddBookCommandHandler addBookCommandHandler = new AddBookCommandHandler(unitOfWork.Object); //Act var x = await addBookCommandHandler.Handle(addBookCommand, new System.Threading.CancellationToken()); //Assert //mediator.Verify(x => x.Send(request)); }
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); }
public IActionResult CreateBook([FromServices] AddBookCommandHandler handler, CreateBookDto book) { handler.Execute(new AddBookCommand(book.Title, book.AuthorName, DateTime.Now)); return(RedirectToAction("index", "home")); }
public AddBookCommandTests() { _repository = A.Fake <IBooksRepository>(); _mapper = Helpers.CreateMapper(); _handler = new AddBookCommandHandler(_repository, _mapper, A.Fake <ILogger <AddBookCommandHandler> >()); }