public FieldPropertiesDto Visit(AssetsFieldProperties properties) { var result = SimpleMapper.Map(properties, new AssetsFieldPropertiesDto()); result.AllowedExtensions = properties.AllowedExtensions?.ToArray(); return(result); }
private IValidator Validator(AssetsFieldProperties properties) { return(new AssetsValidator(properties, new CheckAssets(ids => { return Task.FromResult <IReadOnlyList <IAssetInfo> >(new List <IAssetInfo> { document, image1, image2 }); }))); }
public AssetsValidator(AssetsFieldProperties properties, CheckAssets checkAssets) { Guard.NotNull(properties, nameof(properties)); Guard.NotNull(checkAssets, nameof(checkAssets)); this.properties = properties; this.checkAssets = checkAssets; }
public IEnumerable <ValidationError> Visit(AssetsFieldProperties 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 IEnumerable <IValidator> Visit(AssetsFieldProperties properties) { if (properties.IsRequired || properties.MinItems.HasValue || properties.MaxItems.HasValue) { yield return(new CollectionValidator <Guid>(properties.IsRequired, properties.MinItems, properties.MaxItems)); } yield return(new AssetsValidator(properties)); }
public void Should_not_add_error_if_min_height_equals_to_max_height() { var sut = new AssetsFieldProperties { MinHeight = 2, MaxHeight = 2 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); Assert.Empty(errors); }
public void Should_add_error_if_only_aspect_width_is_defined() { var sut = new AssetsFieldProperties { AspectWidth = 10 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Aspect width and height is required.", "AspectWidth", "AspectHeight") }); }
public void Should_add_error_if_only_aspect_height_is_defined() { var sut = new AssetsFieldProperties { AspectHeight = 10 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("If aspect width or aspect height is used both must be defined.", "AspectWidth", "AspectHeight") }); }
public void Should_add_error_if_min_items_greater_than_max_items() { var sut = new AssetsFieldProperties { 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_min_width_greater_than_max_width() { var sut = new AssetsFieldProperties { MinWidth = 10, MaxWidth = 5 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Max width must be greater or equal to min width.", "MinWidth", "MaxWidth") }); }
public void Should_add_error_if_min_height_greater_than_max_height() { var sut = new AssetsFieldProperties { MinHeight = 10, MaxHeight = 5 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Max height must be greater or equal to min height.", "MinHeight", "MaxHeight") }); }
public void Should_add_error_if_min_size_greater_than_max_size() { var sut = new AssetsFieldProperties { MinSize = 10, MaxSize = 5 }; var errors = FieldPropertiesValidator.Validate(sut).ToList(); errors.Should().BeEquivalentTo( new List <ValidationError> { new ValidationError("Max size must be greater than min size.", "MinSize", "MaxSize") }); }
public AssetsValidator(bool isRequired, AssetsFieldProperties properties, CheckAssets checkAssets) { Guard.NotNull(properties, nameof(properties)); Guard.NotNull(checkAssets, nameof(checkAssets)); this.properties = properties; if (isRequired || properties.MinItems.HasValue || properties.MaxItems.HasValue) { collectionValidator = new CollectionValidator(isRequired, properties.MinItems, properties.MaxItems); } if (!properties.AllowDuplicates) { uniqueValidator = new UniqueValuesValidator <DomainId>(); } this.checkAssets = checkAssets; }
public static void TestFreeze(IFreezable freezable) { var sut = new AssetsFieldProperties(); foreach (var property in sut.GetType().GetRuntimeProperties().Where(x => x.Name != "IsFrozen")) { var value = property.PropertyType.IsValueType ? Activator.CreateInstance(property.PropertyType) : null; property.SetValue(sut, value); var result = property.GetValue(sut); Assert.Equal(value, result); } sut.Freeze(); foreach (var property in sut.GetType().GetRuntimeProperties().Where(x => x.Name != "IsFrozen")) { var value = property.PropertyType.IsValueType ? Activator.CreateInstance(property.PropertyType) : null; Assert.Throws <InvalidOperationException>(() => { try { property.SetValue(sut, value); } catch (Exception ex) { throw ex.InnerException; } }); } }
public IEnumerable <ValidationError> Visit(AssetsFieldProperties properties) { 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))); } if (properties.MaxHeight.HasValue && properties.MinHeight.HasValue && properties.MinHeight.Value > properties.MaxHeight.Value) { yield return(new ValidationError(Not.GreaterEquals("Max height", "min height"), nameof(properties.MaxHeight), nameof(properties.MinHeight))); } if (properties.MaxWidth.HasValue && properties.MinWidth.HasValue && properties.MinWidth.Value > properties.MaxWidth.Value) { yield return(new ValidationError(Not.GreaterEquals("Max width", "min width"), nameof(properties.MaxWidth), nameof(properties.MinWidth))); } if (properties.MaxSize.HasValue && properties.MinSize.HasValue && properties.MinSize.Value >= properties.MaxSize.Value) { yield return(new ValidationError(Not.GreaterThan("Max size", "min size"), nameof(properties.MaxSize), nameof(properties.MinSize))); } if (properties.AspectWidth.HasValue != properties.AspectHeight.HasValue) { yield return(new ValidationError(Not.Defined2("Aspect width", "aspect height"), nameof(properties.AspectWidth), nameof(properties.AspectHeight))); } }
public IEnumerable <ValidationError> Visit(AssetsFieldProperties properties) { if (IsMaxGreaterThanMin(properties.MaxItems, properties.MinItems)) { yield return(new ValidationError(Not.GreaterEqualsThan(nameof(properties.MaxItems), nameof(properties.MinItems)), nameof(properties.MinItems), nameof(properties.MaxItems))); } if (IsMaxGreaterThanMin(properties.MaxHeight, properties.MinHeight)) { yield return(new ValidationError(Not.GreaterEqualsThan(nameof(properties.MaxHeight), nameof(properties.MinHeight)), nameof(properties.MaxHeight), nameof(properties.MinHeight))); } if (IsMaxGreaterThanMin(properties.MaxWidth, properties.MinWidth)) { yield return(new ValidationError(Not.GreaterEqualsThan(nameof(properties.MaxWidth), nameof(properties.MinWidth)), nameof(properties.MaxWidth), nameof(properties.MinWidth))); } if (IsMaxGreaterThanMin(properties.MaxSize, properties.MinSize)) { yield return(new ValidationError(Not.GreaterThan(nameof(properties.MaxSize), nameof(properties.MinSize)), nameof(properties.MaxSize), nameof(properties.MinSize))); } if (properties.AspectWidth.HasValue != properties.AspectHeight.HasValue) { yield return(new ValidationError(Not.BothDefined(nameof(properties.AspectWidth), nameof(properties.AspectHeight)), nameof(properties.AspectWidth), nameof(properties.AspectHeight))); } }
public IEnumerable <ValidationError> Visit(AssetsFieldProperties 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))); } if (properties.MaxHeight.HasValue && properties.MinHeight.HasValue && properties.MinHeight.Value >= properties.MaxHeight.Value) { yield return(new ValidationError("Max height must be greater than min height.", nameof(properties.MaxHeight), nameof(properties.MinHeight))); } if (properties.MaxWidth.HasValue && properties.MinWidth.HasValue && properties.MinWidth.Value >= properties.MaxWidth.Value) { yield return(new ValidationError("Max width must be greater than min width.", nameof(properties.MaxWidth), nameof(properties.MinWidth))); } if (properties.MaxSize.HasValue && properties.MinSize.HasValue && properties.MinSize.Value >= properties.MaxSize.Value) { yield return(new ValidationError("Max size must be greater than min size.", nameof(properties.MaxSize), nameof(properties.MinSize))); } if (properties.AspectWidth.HasValue != properties.AspectHeight.HasValue) { yield return(new ValidationError("Aspect width and height must be defined.", nameof(properties.AspectWidth), nameof(properties.AspectHeight))); } }
private static FieldPropertiesDto Convert(AssetsFieldProperties source) { var result = SimpleMapper.Map(source, new AssetsFieldPropertiesDto()); return(result); }
private static RootField <AssetsFieldProperties> Field(AssetsFieldProperties properties) { return(Fields.Assets(1, "my-assets", Partitioning.Invariant, properties)); }
public JToken Visit(AssetsFieldProperties properties) { return(new JArray()); }
public FieldPropertiesDto Visit(AssetsFieldProperties properties) { return(SimpleMapper.Map(properties, new AssetsFieldPropertiesDto())); }
public IJsonValue Visit(AssetsFieldProperties properties, Args args) { var value = GetDefaultValue(properties.DefaultValue, properties.DefaultValues, args.Partition); return(Array(value)); }
private static AssetsField Field(AssetsFieldProperties properties) { return(new AssetsField(1, "my-assets", Partitioning.Invariant, properties)); }
public AssetsValidator(AssetsFieldProperties properties) { this.properties = properties; }
public string Visit(AssetsFieldProperties properties, Args args) { return(FormatArray(args.Value, "Asset", "Assets")); }
public static Schema AddAssets(this Schema schema, long id, string name, Partitioning partitioning, AssetsFieldProperties properties = null) { return(schema.AddField(Assets(id, name, partitioning, properties))); }
private IValidator Validator(AssetsFieldProperties properties) { return(new AssetsValidator(properties.IsRequired, properties, FoundAssets())); }
public static Field <AssetsFieldProperties> Assets(long id, string name, Partitioning partitioning, AssetsFieldProperties properties = null) { return(new Field <AssetsFieldProperties>(id, name, partitioning, properties ?? new AssetsFieldProperties())); }