internal Book(Domain.Entities.Book book) { Id = book.Id; Name = book.Name; Picture = book.Picture; Date = book.Date; Summary = book.Summary; Rate = book.Rate; Authors = book.Authors.Select(x => new Author(x)).ToList(); }
public DeleteBookCommandValidatorTests() { var book = new Domain.Entities.Book("Clean Code", Guid.NewGuid(), Guid.NewGuid(), null); var bookRepository = new Mock <IBookRepository>(); bookRepository.Setup(r => r.GetById(_bookId)).Returns(book); _deleteBookCommandValidator = new DeleteBookCommandValidator(bookRepository.Object); }
public static BookEvent EntityToEvent(Domain.Entities.Book entity) { var config = new MapperConfiguration(configure => { configure.CreateMap <Domain.Entities.Author, AuthorEvent>(); configure.CreateMap <Domain.Entities.Publisher, PublisherEvent>(); configure.CreateMap <Domain.Entities.Book, BookEvent>(); }); var mapper = config.CreateMapper(); return(mapper.Map <BookEvent>(entity)); }
public DeleteBookCommandHandlerTests() { var book = new Domain.Entities.Book("Clean Code", Guid.NewGuid(), Guid.NewGuid(), null); _bookRepository = new Mock <IBookRepository>(); _bookRepository.Setup(r => r.GetById(_bookId)).Returns(book); var createBookCommandValidator = new DeleteBookCommandValidator(_bookRepository.Object); _eventPublisher = new Mock <IEventPublisher <DeleteBookEvent> >(); _deleteBookCommandHandler = new DeleteBookCommandHandler(createBookCommandValidator, _bookRepository.Object, _eventPublisher.Object); }
public void Book_Must_Exist(Domain.Entities.Book book, bool result) { //Assert var deleteBookCommand = new DeleteBookCommand { Id = _bookId }; var bookRepository = new Mock <IBookRepository>(); bookRepository.Setup(r => r.GetById(_bookId)).Returns(book); _deleteBookCommandValidator = new DeleteBookCommandValidator(bookRepository.Object); //Act var validationResult = _deleteBookCommandValidator.Validate(deleteBookCommand); //Assert validationResult.IsValid.Should().Be(result); }
public async Task <GetBookModel> Handle(CreateBookCommand request, CancellationToken cancellationToken) { var bookCategories = await _context.Categories.Where(bc => request.Categories.Select(c => c.Id).Contains(bc.Id)) .Select(c => new BookCategory { CategoryId = c.Id, Category = c }).ToListAsync(cancellationToken); var book = new Domain.Entities.Book(request.Title, bookCategories); SetDomainState(book); await _context.SaveChangesAsync(cancellationToken); return(new GetBookModel { Id = book.Id, Title = book.Title, Categories = book.BookCategories.Select(c => new GetBookModelCategory { Id = c.CategoryId, Name = c.Category.Name }).ToList() }); }