Exemple #1
0
 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();
 }
Exemple #2
0
        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);
        }
Exemple #5
0
        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()
            });
        }