public static RuleElementDto FromDomain(RuleActionDefinition definition) { var result = SimpleMapper.Map(definition, new RuleElementDto()); result.Properties = definition.Properties.Select(x => SimpleMapper.Map(x, new RuleElementPropertyDto())).ToArray(); return(result); }
public void Should_create_definition() { var expected = new RuleActionDefinition { Type = typeof(MyRuleAction), IconImage = "<svg></svg>", IconColor = "#1e5470", Display = "Action display", Description = "Action description.", ReadMore = "https://www.readmore.com/" }; expected.Properties.Add(new RuleActionProperty { Name = "url", Display = "Url Name", Description = "Url Description", Editor = RuleActionPropertyEditor.Url, IsFormattable = true, IsRequired = true }); expected.Properties.Add(new RuleActionProperty { Name = "email", Display = "Email", Description = null, Editor = RuleActionPropertyEditor.Email, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "text", Display = "Text", Description = null, Editor = RuleActionPropertyEditor.Text, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "textMultiline", Display = "TextMultiline", Description = null, Editor = RuleActionPropertyEditor.TextArea, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "password", Display = "Password", Description = null, Editor = RuleActionPropertyEditor.Password, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "boolean", Display = "Boolean", Description = null, Editor = RuleActionPropertyEditor.Checkbox, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "booleanOptional", Display = "BooleanOptional", Description = null, Editor = RuleActionPropertyEditor.Checkbox, IsRequired = false }); expected.Properties.Add(new RuleActionProperty { Name = "number", Display = "Number", Description = null, Editor = RuleActionPropertyEditor.Number, IsRequired = true }); expected.Properties.Add(new RuleActionProperty { Name = "numberOptional", Display = "NumberOptional", Description = null, Editor = RuleActionPropertyEditor.Number, IsRequired = false }); sut.Add <MyRuleAction>(); var currentDefinition = sut.Actions.Values.First(); currentDefinition.Should().BeEquivalentTo(expected); }