Exemple #1
0
 public BooksController(AllBooksQueryHandler allBooksQueryHandler, GetBookQueryHandler bookQueryHandler, AddBookCommandHandler addBookQueryHandler, DeleteBookCommandHandler deleteBookCommandHandler)
 {
     _allBooksQueryHandler     = allBooksQueryHandler;
     _bookQueryHandler         = bookQueryHandler;
     _addBookQueryHandler      = addBookQueryHandler;
     _deleteBookCommandHandler = deleteBookCommandHandler;
 }
Exemple #2
0
        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,
            });
        }
Exemple #3
0
        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));
        }
Exemple #5
0
        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> >());
 }