public IEnumerable <ValidationError> Visit(ComponentsFieldProperties properties, None args) { if (IsMaxGreaterThanMin(properties.MaxItems, properties.MinItems)) { yield return(new ValidationError(Not.GreaterEqualsThan(nameof(properties.MaxItems), nameof(properties.MinItems)), nameof(properties.MinItems), nameof(properties.MaxItems))); } }
public void Should_not_add_error_if_min_items_equals_to_max_items() { var sut = new ComponentsFieldProperties { MinItems = 2, MaxItems = 2 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); Assert.Empty(errors); }
public void Should_add_error_if_min_items_greater_than_max_items() { var sut = new ComponentsFieldProperties { MinItems = 10, MaxItems = 5 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Max items must be greater or equal to min items.", "MinItems", "MaxItems") }); }
private static (DomainId, RootField <ComponentsFieldProperties>) Field(ComponentsFieldProperties properties, bool isRequired = false) { var schema = new Schema("my-component") .AddNumber(1, "component-field", Partitioning.Invariant, new NumberFieldProperties { IsRequired = isRequired }); var id = DomainId.NewGuid(); var field = Fields.Components(1, "my-components", Partitioning.Invariant, properties) .SetResolvedSchema(id, schema); return(id, field); }
private (DomainId, RootField <ComponentsFieldProperties>, ResolvedComponents) Field(ComponentsFieldProperties properties, bool isRequired = false) { var schema = new Schema("my-component") .AddNumber(1, "componentField", Partitioning.Invariant, new NumberFieldProperties { IsRequired = isRequired }); var field = Fields.Components(1, "myComponents", Partitioning.Invariant, properties); var components = new ResolvedComponents(new Dictionary <DomainId, Schema> { [schemaId1] = schema, [schemaId2] = schema }); return(schemaId1, field, components); }
public IJsonValue Visit(ComponentsFieldProperties properties, Args args) { return(JsonValue.Array()); }
public FieldPropertiesDto Visit(ComponentsFieldProperties properties, None args) { return(SimpleMapper.Map(properties, new ComponentsFieldPropertiesDto())); }