public FieldPropertiesDto Visit(TagsFieldProperties properties) { var result = SimpleMapper.Map(properties, new TagsFieldPropertiesDto()); result.AllowedValues = properties.AllowedValues?.ToArray(); return(result); }
public IEnumerable <IValidator> Visit(TagsFieldProperties properties) { if (properties.IsRequired || properties.MinItems.HasValue || properties.MaxItems.HasValue) { yield return(new CollectionValidator <string>(properties.IsRequired, properties.MinItems, properties.MaxItems)); } yield return(new CollectionItemValidator <string>(new RequiredStringValidator())); }
public IEnumerable <ValidationError> Visit(TagsFieldProperties properties) { if (properties.MaxItems.HasValue && properties.MinItems.HasValue && properties.MinItems.Value >= properties.MaxItems.Value) { yield return(new ValidationError("Max items must be greater than min items.", nameof(properties.MinItems), nameof(properties.MaxItems))); } }
public void Should_not_add_error_if_min_items_equal_to_max_items() { var sut = new TagsFieldProperties { 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 TagsFieldProperties { 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") }); }
public void Should_add_error_if_editor_is_not_valid() { var sut = new TagsFieldProperties { Editor = (TagsFieldEditor)123 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Editor is not a valid value.", "Editor") }); }
public void Should_add_error_if_radio_button_has_no_allowed_values() { var sut = new TagsFieldProperties { Editor = TagsFieldEditor.Checkboxes }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Checkboxes or dropdown list need allowed values.", "AllowedValues") }); }
public void Should_compare_two_tags_fields_as_equal() { var lhs = new TagsFieldProperties { DefaultValues = new LocalizedValue <string[]?> { ["iv"] = new[] { "A", "B", "C" } } }; var rhs = new TagsFieldProperties { DefaultValues = new LocalizedValue <string[]?> { ["iv"] = new[] { "A", "B", "C" } } }; Assert.Equal(lhs, rhs); }
public void Should_compare_two_tags_fields_as_equal() { var lhs = new TagsFieldProperties { DefaultValues = new LocalizedValue <ImmutableList <string>?>(new Dictionary <string, ImmutableList <string>?> { ["iv"] = ImmutableList.Create("A", "B", "C") }) }; var rhs = new TagsFieldProperties { DefaultValues = new LocalizedValue <ImmutableList <string>?>(new Dictionary <string, ImmutableList <string>?> { ["iv"] = ImmutableList.Create("A", "B", "C") }) }; Assert.Equal(lhs, rhs); }
public IEnumerable <ValidationError> Visit(TagsFieldProperties properties) { if (!properties.Editor.IsEnumValue()) { yield return(new ValidationError(Not.Valid(nameof(properties.Editor)), nameof(properties.Editor))); } if ((properties.Editor == TagsFieldEditor.Checkboxes || properties.Editor == TagsFieldEditor.Dropdown) && properties.AllowedValues?.Any() != true) { yield return(new ValidationError(T.Get("schemas.tags.editorNeedsAllowedValues"), nameof(properties.AllowedValues))); } 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 IEnumerable <ValidationError> Visit(TagsFieldProperties properties) { if (!properties.Editor.IsEnumValue()) { yield return(new ValidationError(Not.Valid("Editor"), nameof(properties.Editor))); } if ((properties.Editor == TagsFieldEditor.Checkboxes || properties.Editor == TagsFieldEditor.Dropdown) && (properties.AllowedValues == null || properties.AllowedValues.Count == 0)) { yield return(new ValidationError("Checkboxes or dropdown list need allowed values.", nameof(properties.AllowedValues))); } if (properties.MaxItems.HasValue && properties.MinItems.HasValue && properties.MinItems.Value > properties.MaxItems.Value) { yield return(new ValidationError(Not.GreaterEquals("Max items", "min items"), nameof(properties.MinItems), nameof(properties.MaxItems))); } }
public static Field <TagsFieldProperties> Tags(long id, string name, Partitioning partitioning, TagsFieldProperties properties = null) { return(new Field <TagsFieldProperties>(id, name, partitioning, properties ?? new TagsFieldProperties())); }
private static TagsField Field(TagsFieldProperties properties) { return(new TagsField(1, "my-tags", Partitioning.Invariant, properties)); }
private static RootField <TagsFieldProperties> Field(TagsFieldProperties properties) { return(Fields.Tags(1, "my-tags", Partitioning.Invariant, properties)); }
public FieldPropertiesDto Visit(TagsFieldProperties properties) { return(SimpleMapper.Map(properties, new TagsFieldPropertiesDto())); }
public JToken Visit(TagsFieldProperties properties) { return(new JArray()); }
public static Schema AddTags(this Schema schema, long id, string name, Partitioning partitioning, TagsFieldProperties properties = null) { return(schema.AddField(Tags(id, name, partitioning, properties))); }
public IJsonValue Visit(TagsFieldProperties properties, Args args) { var value = GetDefaultValue(properties.DefaultValue, properties.DefaultValues, args.Partition); return(Array(value)); }