Пример #1
0
        public async Task <IActionResult> Save(CreateModuleType model)
        {
            model.Id = Guid.NewGuid();
            await Task.Run(() => _commandSender.Send <CreateModuleType, ModuleType>(model));

            return(new NoContentResult());
        }
Пример #2
0
        public void Should_validate_command_and_save_new_module_Type()
        {
            var command = new CreateModuleType
            {
                AppId       = Guid.NewGuid(),
                Id          = Guid.NewGuid(),
                Name        = "My ModuleType",
                Title       = "Title",
                Description = "Description"
            };

            var languageRepositoryMock = new Mock <IModuleTypeRepository>();

            languageRepositoryMock.Setup(x => x.Create(It.IsAny <ModuleType>()));

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

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

            var createModuleTypeHandler = new CreateModuleTypeHandler(languageRepositoryMock.Object, validatorMock.Object);

            createModuleTypeHandler.Handle(command);

            validatorMock.Verify(x => x.Validate(command));
            languageRepositoryMock.Verify(x => x.Create(It.IsAny <ModuleType>()));
        }
Пример #3
0
        public static ModuleType ModuleType(Guid id, string name, string title, string description)
        {
            var command = new CreateModuleType
            {
                Id          = id,
                Name        = name,
                Title       = title,
                Description = description
            };

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

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

            return(Domain.ModuleTypes.ModuleType.CreateNew(command, validatorMock.Object));
        }
Пример #4
0
 private ModuleType(CreateModuleType cmd) : base(cmd.Id)
 {
     AddEvent(new ModuleTypeCreated
     {
         AppId           = cmd.AppId,
         AggregateRootId = Id,
         Name            = cmd.Name,
         Title           = cmd.Title,
         Description     = cmd.Description,
         ViewType        = cmd.ViewType,
         ViewName        = cmd.ViewName,
         EditType        = cmd.EditType,
         EditUrl         = cmd.EditUrl,
         Status          = ModuleTypeStatus.Active
     });
 }
Пример #5
0
        public void Should_have_validation_error_when_app_id_is_empty()
        {
            var command = new CreateModuleType
            {
                AppId       = Guid.Empty,
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Title       = "Title",
                Description = "Description"
            };

            var moduleTypeRulesMock = new Mock <IModuleTypeRules>();
            var appRulesMock        = new Mock <IAppRules>();
            var validator           = new CreateModuleTypeValidator(moduleTypeRulesMock.Object, appRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.Id, command);
        }
Пример #6
0
 public void Setup()
 {
     _command = new CreateModuleType
     {
         AppId       = Guid.Empty,
         Id          = Guid.NewGuid(),
         Name        = "Name",
         Title       = "Title",
         Description = "Description",
         ViewType    = ViewType.View,
         ViewName    = "ViewName",
         EditType    = EditType.Page,
         EditUrl     = "EditUrl"
     };
     _validatorMock = new Mock <IValidator <CreateModuleType> >();
     _validatorMock.Setup(x => x.Validate(_command)).Returns(new ValidationResult());
     _moduleType = ModuleType.CreateNew(_command, _validatorMock.Object);
     _event      = _moduleType.Events.OfType <ModuleTypeCreated>().SingleOrDefault();
 }
Пример #7
0
        private ModuleType(CreateModuleType cmd) : base(cmd.Id)
        {
            AppId  = cmd.AppId;
            Status = ModuleTypeStatus.Active;
            UpdateDetails(cmd);

            AddEvent(new ModuleTypeCreated
            {
                AppId           = AppId,
                AggregateRootId = Id,
                Name            = Name,
                Title           = Title,
                Description     = Description,
                ViewType        = ViewType,
                ViewName        = ViewName,
                EditType        = EditType,
                EditUrl         = EditUrl,
                Status          = Status
            });
        }
Пример #8
0
        public void Should_have_validation_error_when_app_does_not_exist()
        {
            var command = new CreateModuleType
            {
                AppId       = Guid.NewGuid(),
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Title       = "Title",
                Description = "Description"
            };

            var moduleTypeRulesMock = new Mock <IModuleTypeRules>();

            var appRulesMock = new Mock <IAppRules>();

            appRulesMock.Setup(x => x.DoesAppExist(command.AppId)).Returns(false);

            var validator = new CreateModuleTypeValidator(moduleTypeRulesMock.Object, appRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.AppId, command);
        }
Пример #9
0
        public void Should_have_validation_error_when_module_type_id_already_exists()
        {
            var command = new CreateModuleType
            {
                AppId       = Guid.NewGuid(),
                Id          = Guid.NewGuid(),
                Name        = "Name",
                Title       = "Title",
                Description = "Description"
            };

            var moduleTypeRulesMock = new Mock <IModuleTypeRules>();

            moduleTypeRulesMock.Setup(x => x.IsModuleTypeIdUnique(command.Id)).Returns(false);

            var appRulesMock = new Mock <IAppRules>();

            var validator = new CreateModuleTypeValidator(moduleTypeRulesMock.Object, appRulesMock.Object);

            validator.ShouldHaveValidationErrorFor(x => x.Id, command);
        }
Пример #10
0
        public void Should_throw_validation_exception_when_validation_fails()
        {
            var command = new CreateModuleType
            {
                AppId       = Guid.NewGuid(),
                Id          = Guid.NewGuid(),
                Name        = "My ModuleType",
                Title       = "Title",
                Description = "Description"
            };

            var languageRepositoryMock = new Mock <IModuleTypeRepository>();

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

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

            var createModuleTypeHandler = new CreateModuleTypeHandler(languageRepositoryMock.Object, validatorMock.Object);

            Assert.Throws <Exception>(() => createModuleTypeHandler.Handle(command));
        }
Пример #11
0
        public static ModuleType CreateNew(CreateModuleType cmd, IValidator <CreateModuleType> validator)
        {
            validator.ValidateCommand(cmd);

            return(new ModuleType(cmd));
        }
Пример #12
0
 public IActionResult Save(CreateModuleType model)
 {
     model.Id = Guid.NewGuid();
     _dispatcher.SendAndPublish <CreateModuleType, ModuleType>(model);
     return(new NoContentResult());
 }
Пример #13
0
        public async Task <IActionResult> Post([FromBody] CreateModuleType model)
        {
            await Task.Run(() => _commandSender.Send <CreateModuleType, ModuleType>(model));

            return(new NoContentResult());
        }
Пример #14
0
 public IActionResult Post([FromBody] CreateModuleType model)
 {
     _commandSender.Send <CreateModuleType, ModuleType>(model);
     return(new NoContentResult());
 }
Пример #15
0
 public IActionResult Post([FromBody] CreateModuleType model)
 {
     _dispatcher.SendAndPublish <CreateModuleType, ModuleType>(model);
     return(new NoContentResult());
 }
Пример #16
0
 public IActionResult Save(CreateModuleType model)
 {
     model.Id = Guid.NewGuid();
     _commandSender.Send <CreateModuleType, ModuleType>(model);
     return(new NoContentResult());
 }