public async Task Create_New_Book() { using (var context = GetContextWithData()) { var handler = new CreateBookCommandHandler(context); var categoryId = Guid.NewGuid(); await AddCategory(context, categoryId, "nothing"); var command = new CreateBookCommand { Title = "Title", Categories = new List <CreateBookModelCategory> { new CreateBookModelCategory { Id = categoryId } } }; await handler.Handle(command, CancellationToken.None); var book = await context.Books.SingleOrDefaultAsync(c => c.Title == command.Title); Assert.Equal(command.Title, book.Title); Assert.Equal(command.Categories.ToList().Count, book.BookCategories.ToList().Count); Assert.Equal(command.Categories.FirstOrDefault()?.Id, book.BookCategories.FirstOrDefault()?.CategoryId); } }
public CreateBookCommandHandlerTests() { _publication = new PublicationCommand { Edition = 1, Year = DateTime.Now.Year }; _bookRepository = new Mock <IBookRepository>(); var publicationValidator = new PublicationCommandValidator(); var createBookCommandValidator = new CreateBookCommandValidator(_bookRepository.Object, publicationValidator); _eventPublisher = new Mock <IEventPublisher <BookEvent> >(); _createBookCommandHandler = new CreateBookCommandHandler(createBookCommandValidator, _bookRepository.Object, _eventPublisher.Object); }