public void CalculateValidationRulesNotEqualsToTest() { // Arrange var guidOne = Guid.NewGuid(); var guidTwo = Guid.NewGuid(); var dateTime = DateTime.UtcNow; var fieldDefinitionDecimal = ConfigurationHelper.CreateDefinition(FieldType.NumberDecimal, null); fieldDefinitionDecimal.Configurations = new List <DynamicFieldConfiguration> { new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "DarkwingDuck" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "LaunchpadMcQuack" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsDefault, ValueDecimal = 5m } }; var fieldDefinitionDateTime = ConfigurationHelper.CreateDefinition(FieldType.DateTime, null); fieldDefinitionDateTime.Configurations = new List <DynamicFieldConfiguration> { new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "DarkwingDuck" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "LaunchpadMcQuack" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsDefault, ValueDateTime = dateTime } }; var fieldDefinitionComboxBoxGuid = ConfigurationHelper.CreateDefinition(FieldType.ComboxBoxGuid, null); fieldDefinitionComboxBoxGuid.Configurations = new List <DynamicFieldConfiguration> { new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "DarkwingDuck" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "LaunchpadMcQuack" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsDefault, ValueGuid = guidOne } }; var fieldDefinitionGuid = ConfigurationHelper.CreateDefinition(FieldType.Guid, null); fieldDefinitionGuid.Configurations = new List <DynamicFieldConfiguration> { new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "DarkwingDuck" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsTo, ValueString = "LaunchpadMcQuack" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.NotEqualsDefault, ValueGuid = guidTwo } }; var fieldInformation = new FieldInformation <DynamicFieldDefinition, DynamicFieldAssignment, DynamicFieldValue, string, int> { Definitions = new List <DynamicFieldDefinition> { fieldDefinitionDecimal, fieldDefinitionDateTime, fieldDefinitionComboxBoxGuid, fieldDefinitionGuid }, Assignments = new List <DynamicFieldAssignment> { ConfigurationHelper.CreateAssignment(FieldType.NumberDecimal), ConfigurationHelper.CreateAssignment(FieldType.DateTime), ConfigurationHelper.CreateAssignment(FieldType.ComboxBoxGuid), ConfigurationHelper.CreateAssignment(FieldType.Guid) }, Values = new List <DynamicFieldValue> { ConfigurationHelper.CreateField(FieldType.NumberDecimal), ConfigurationHelper.CreateField(FieldType.DateTime), ConfigurationHelper.CreateField(FieldType.ComboxBoxGuid), ConfigurationHelper.CreateField(FieldType.Guid) } }; // Act var rules = _classUnderTest.CalculateValidationRules(fieldInformation); // Assert rules.Should().HaveCount(4); var ruleDecimal = rules.Single(r => r.PropertyName == nameof(FieldType.NumberDecimal)); ruleDecimal.JsonName.Should().Be(nameof(FieldType.NumberDecimal)); ruleDecimal.IsDynamicField.Should().BeTrue(); ruleDecimal.Rules.First(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("DarkwingDuck"); ruleDecimal.Rules.First(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(5m.ToString(CultureInfo.InvariantCulture)); ruleDecimal.Rules.Last(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("LaunchpadMcQuack"); ruleDecimal.Rules.Last(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(5m.ToString(CultureInfo.InvariantCulture)); var ruleDateTime = rules.Single(r => r.PropertyName == nameof(FieldType.DateTime)); ruleDateTime.JsonName.Should().Be(nameof(FieldType.DateTime)); ruleDateTime.IsDynamicField.Should().BeTrue(); ruleDateTime.Rules.First(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("DarkwingDuck"); ruleDateTime.Rules.First(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(dateTime.ToString("yyyy-MM-ddTHH:mm:ss")); ruleDateTime.Rules.Last(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("LaunchpadMcQuack"); ruleDateTime.Rules.Last(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(dateTime.ToString("yyyy-MM-ddTHH:mm:ss")); var ruleComboxBoxGuid = rules.Single(r => r.PropertyName == nameof(FieldType.ComboxBoxGuid)); ruleComboxBoxGuid.JsonName.Should().Be(nameof(FieldType.ComboxBoxGuid)); ruleComboxBoxGuid.IsDynamicField.Should().BeTrue(); ruleComboxBoxGuid.Rules.First(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("DarkwingDuck"); ruleComboxBoxGuid.Rules.First(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(guidOne.ToString()); ruleComboxBoxGuid.Rules.Last(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("LaunchpadMcQuack"); ruleComboxBoxGuid.Rules.Last(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(guidOne.ToString()); var ruleGuid = rules.Single(r => r.PropertyName == nameof(FieldType.Guid)); ruleGuid.JsonName.Should().Be(nameof(FieldType.Guid)); ruleGuid.IsDynamicField.Should().BeTrue(); ruleGuid.Rules.First(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("DarkwingDuck"); ruleGuid.Rules.First(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(guidTwo.ToString()); ruleGuid.Rules.Last(r => r.Rule == "NotEqualsTo").PropertyName.Should().Be("LaunchpadMcQuack"); ruleGuid.Rules.Last(r => r.Rule == "NotEqualsTo").DefaultValue.Should().Be(guidTwo.ToString()); }
public void CalculateValidationRulesRangeBetweenTest(FieldType fieldType) { // Arrange var fieldDefinition = ConfigurationHelper.CreateDefinition(fieldType, null); fieldDefinition.Configurations = new List <DynamicFieldConfiguration> { new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.RangeBetween }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.RangeBetweenFrom, ValueString = fieldType.ToString() + "ValueFrom" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.RangeBetweenTo, ValueString = fieldType.ToString() + "ValueTo" }, new DynamicFieldConfiguration { ConfigurationType = FieldConfigurationType.AllowNull } }; var fieldInformation = new FieldInformation <DynamicFieldDefinition, DynamicFieldAssignment, DynamicFieldValue, string, int> { Definitions = new List <DynamicFieldDefinition> { ConfigurationHelper.CreateDefinition(fieldType, null, "From"), ConfigurationHelper.CreateDefinition(fieldType, null, "To"), fieldDefinition }, Assignments = new List <DynamicFieldAssignment> { ConfigurationHelper.CreateAssignment(fieldType, "From"), ConfigurationHelper.CreateAssignment(fieldType, "To"), ConfigurationHelper.CreateAssignment(fieldType) }, Values = new List <DynamicFieldValue> { ConfigurationHelper.CreateField(fieldType, "From"), ConfigurationHelper.CreateField(fieldType, "To"), ConfigurationHelper.CreateField(fieldType) } }; // Act var rules = _classUnderTest.CalculateValidationRules(fieldInformation); // Assert rules.Should().HaveCount(3); var ruleFrom = rules.Last(); ruleFrom.PropertyName.Should().Be(fieldType.ToString()); ruleFrom.JsonName.Should().Be(fieldType.ToString()); ruleFrom.IsDynamicField.Should().BeTrue(); ruleFrom.Rules.Should().HaveCount(3); ruleFrom.Rules[0].Rule.Should().Be("Number"); ruleFrom.Rules[1].Rule.Should().Be("DecimalPlaces"); ruleFrom.Rules[1].Value.Should().Be(0); ruleFrom.Rules[2].Rule.Should().Be("RangeBetween"); ruleFrom.Rules[2].PropertyNameFrom.Should().Be(fieldType.ToString() + "ValueFrom"); ruleFrom.Rules[2].PropertyNameTo.Should().Be(fieldType.ToString() + "ValueTo"); ruleFrom.Rules[2].PropertyNameFromAllowNull.Should().BeTrue(); ruleFrom.Rules[2].PropertyNameToAllowNull.Should().BeTrue(); }