public void Should_validate_command_and_save_new_template()
        {
            var command = new UpdateTemplateDetails
            {
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Description = "Description",
                ViewName    = "ViewName"
            };

            var templateRepositoryMock = new Mock <ITemplateRepository>();

            templateRepositoryMock.Setup(x => x.GetById(command.Id)).Returns(new Template());
            templateRepositoryMock.Setup(x => x.Update(It.IsAny <Template>()));

            var validatorMock = new Mock <IValidator <UpdateTemplateDetails> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult());

            var createTemplateHandler = new UpdateTemplateDetailsHandler(templateRepositoryMock.Object, validatorMock.Object);

            createTemplateHandler.Handle(command);

            validatorMock.Verify(x => x.Validate(command));
            templateRepositoryMock.Verify(x => x.Update(It.IsAny <Template>()));
        }
Пример #2
0
        public void UpdateDetails(UpdateTemplateDetails cmd, IValidator <UpdateTemplateDetails> validator)
        {
            validator.ValidateCommand(cmd);

            AddEvent(new TemplateDetailsUpdated
            {
                AggregateRootId = Id,
                Name            = cmd.Name,
                Description     = cmd.Description,
                ViewName        = cmd.ViewName,
                Type            = cmd.Type
            });
        }
Пример #3
0
 public void Setup()
 {
     _command = new UpdateTemplateDetails
     {
         Id          = Guid.NewGuid(),
         Name        = "Name",
         Description = "Description",
         ViewName    = "viewName"
     };
     _validatorMock = new Mock <IValidator <UpdateTemplateDetails> >();
     _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult());
     _template = new Template();
     _template.UpdateDetails(_command, _validatorMock.Object);
     _event = _template.Events.OfType <TemplateDetailsUpdated>().SingleOrDefault();
 }
        public void Should_throw_exception_when_template_is_not_found()
        {
            var command = new UpdateTemplateDetails
            {
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Description = "Description",
                ViewName    = "ViewName"
            };

            var templateRepositoryMock = new Mock <ITemplateRepository>();

            templateRepositoryMock.Setup(x => x.GetById(command.Id)).Returns((Template)null);

            var validatorMock = new Mock <IValidator <UpdateTemplateDetails> >();

            var createTemplateHandler = new UpdateTemplateDetailsHandler(templateRepositoryMock.Object, validatorMock.Object);

            Assert.Throws <Exception>(() => createTemplateHandler.Handle(command));
        }
        public void Should_throw_validation_exception_when_validation_fails()
        {
            var command = new UpdateTemplateDetails
            {
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Description = "Description",
                ViewName    = "ViewName"
            };

            var templateRepositoryMock = new Mock <ITemplateRepository>();

            templateRepositoryMock.Setup(x => x.GetById(command.Id)).Returns(new Template());

            var validatorMock = new Mock <IValidator <UpdateTemplateDetails> >();

            validatorMock.Setup(x => x.Validate(command)).Returns(new ValidationResult(new List <ValidationFailure> {
                new ValidationFailure("Name", "Name Error")
            }));

            var createTemplateHandler = new UpdateTemplateDetailsHandler(templateRepositoryMock.Object, validatorMock.Object);

            Assert.Throws <ValidationException>(() => createTemplateHandler.Handle(command));
        }