public void Should_validate_command_and_update_module_type()
        {
            var command = new UpdateModuleTypeDetails
            {
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Title       = "Title",
                Description = "Description"
            };

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns(new ModuleType());

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

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

            var createModuleTypeHandler = new UpdateModuleTypeDetailsHandler(repositoryMock.Object, validatorMock.Object);

            createModuleTypeHandler.Handle(command);

            validatorMock.Verify(x => x.Validate(command));
            repositoryMock.Verify(x => x.Update(It.IsAny <ModuleType>()));
        }
示例#2
0
 public void Setup()
 {
     _command = new UpdateModuleTypeDetails
     {
         Id          = Guid.NewGuid(),
         Name        = "Name",
         Title       = "Title",
         Description = "Description"
     };
     _validatorMock = new Mock <IValidator <UpdateModuleTypeDetails> >();
     _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult());
     _moduleType = new ModuleType();
     _moduleType.UpdateDetails(_command, _validatorMock.Object);
     _event = _moduleType.Events.OfType <ModuleTypeDetailsUpdated>().SingleOrDefault();
 }
示例#3
0
        public void UpdateDetails(UpdateModuleTypeDetails cmd, IValidator <UpdateModuleTypeDetails> validator)
        {
            validator.ValidateCommand(cmd);

            AddEvent(new ModuleTypeDetailsUpdated
            {
                AggregateRootId = Id,
                Name            = cmd.Name,
                Title           = cmd.Title,
                Description     = cmd.Description,
                ViewType        = cmd.ViewType,
                ViewName        = cmd.ViewName,
                EditType        = cmd.EditType,
                EditUrl         = cmd.EditUrl
            });
        }
        public void Should_throw_exception_when_module_type_is_not_found()
        {
            var command = new UpdateModuleTypeDetails
            {
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Title       = "Title",
                Description = "Description"
            };

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns((ModuleType)null);

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

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

            var createModuleTypeHandler = new UpdateModuleTypeDetailsHandler(repositoryMock.Object, validatorMock.Object);

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

            var repositoryMock = new Mock <IModuleTypeRepository>();

            repositoryMock.Setup(x => x.GetById(command.Id)).Returns(new ModuleType());

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

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

            var createModuleTypeHandler = new UpdateModuleTypeDetailsHandler(repositoryMock.Object, validatorMock.Object);

            Assert.Throws <ValidationException>(() => createModuleTypeHandler.Handle(command));
        }
        public async Task <IActionResult> Update(UpdateModuleTypeDetails model)
        {
            await Task.Run(() => _commandSender.Send <UpdateModuleTypeDetails, ModuleType>(model));

            return(new NoContentResult());
        }
示例#7
0
 public IActionResult Update(UpdateModuleTypeDetails model)
 {
     _dispatcher.SendAndPublish <UpdateModuleTypeDetails, ModuleType>(model);
     return(new NoContentResult());
 }
示例#8
0
 public IActionResult Update(UpdateModuleTypeDetails model)
 {
     _commandSender.Send <UpdateModuleTypeDetails, ModuleType>(model);
     return(new NoContentResult());
 }