public async Task <IActionResult> Save(CreateModuleType model) { model.Id = Guid.NewGuid(); await Task.Run(() => _commandSender.Send <CreateModuleType, ModuleType>(model)); return(new NoContentResult()); }
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>())); }
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)); }
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 }); }
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); }
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(); }
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 }); }
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); }
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); }
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)); }
public static ModuleType CreateNew(CreateModuleType cmd, IValidator <CreateModuleType> validator) { validator.ValidateCommand(cmd); return(new ModuleType(cmd)); }
public IActionResult Save(CreateModuleType model) { model.Id = Guid.NewGuid(); _dispatcher.SendAndPublish <CreateModuleType, ModuleType>(model); return(new NoContentResult()); }
public async Task <IActionResult> Post([FromBody] CreateModuleType model) { await Task.Run(() => _commandSender.Send <CreateModuleType, ModuleType>(model)); return(new NoContentResult()); }
public IActionResult Post([FromBody] CreateModuleType model) { _commandSender.Send <CreateModuleType, ModuleType>(model); return(new NoContentResult()); }
public IActionResult Post([FromBody] CreateModuleType model) { _dispatcher.SendAndPublish <CreateModuleType, ModuleType>(model); return(new NoContentResult()); }
public IActionResult Save(CreateModuleType model) { model.Id = Guid.NewGuid(); _commandSender.Send <CreateModuleType, ModuleType>(model); return(new NoContentResult()); }