public void Should_convert_name_to_name() { var field = Fields.Array(1, "1", Partitioning.Invariant, Fields.Number(1, "field1"), Fields.Number(2, "field2").Hide()); var input = new ContentFieldData() .AddJsonValue( JsonValue.Array( JsonValue.Object() .Add("field1", 100) .Add("field2", 200) .Add("invalid", 300))); var actual = FieldConverters.ForNestedName2Name(ValueConverters.ExcludeHidden())(input, field); var expected = new ContentFieldData() .AddJsonValue( JsonValue.Array( JsonValue.Object() .Add("field1", 100))); Assert.Equal(expected, actual); }
public void Should_format_null_json_value() { var field = Fields.Array(1, "field", Partitioning.Invariant); var formatted = StringFormatter.Format(JsonValue.Null, field); Assert.Empty(formatted); }
public void Should_format_array_field_with_wrong_type() { var value = JsonValue.True; var field = Fields.Array(1, "field", Partitioning.Invariant); var formatted = StringFormatter.Format(value, field); Assert.Equal("0 Items", formatted); }
public void Should_format_array_field_with_multiple_items() { var value = JsonValue.Array(JsonValue.Object(), JsonValue.Object()); var field = Fields.Array(1, "field", Partitioning.Invariant); var formatted = StringFormatter.Format(value, field); Assert.Equal("2 Items", formatted); }
public void Should_format_array_field_with_single_item() { var value = JsonValue.Array(JsonValue.Object()); var field = Fields.Array(1, "field", Partitioning.Invariant); var formatted = StringFormatter.Format(field, value); Assert.Equal("1 Item", formatted); }
public void Should_format_array_field_without_items() { var value = JsonValue.Array(); var field = Fields.Array(1, "field", Partitioning.Invariant); var formatted = StringFormatter.Format(field, value); Assert.Equal("0 Items", formatted); }
public void Should_not_convert_nested_asset_ids_when_field_name_does_not_match(string path) { var field = Fields.Array(1, "parent", Partitioning.Invariant, Fields.Assets(11, "assets")); var source = JsonValue.Array(id1, id2); var expected = source; var result = ValueConverters.ResolveAssetUrls(HashSet.Of(path), urlGenerator)(source, field.Fields[0], field); Assert.Equal(expected, result); }
public void Should_convert_nested_asset_ids_to_urls(string path) { var field = Fields.Array(1, "parent", Partitioning.Invariant, Fields.Assets(11, "assets")); var source = JsonValue.Array(id1, id2); var expected = JsonValue.Array($"url/to/{id1}", $"url/to/{id2}"); var result = ValueConverters.ResolveAssetUrls(appId, HashSet.Of(path), urlGenerator)(source, field.Fields[0], field); Assert.Equal(expected, result); }
public void Should_return_ids_from_nested_field(NestedField field) { var id1 = DomainId.NewGuid(); var id2 = DomainId.NewGuid(); var arrayField = Fields.Array(1, "my-array", Partitioning.Invariant, field); var value = JsonValue.Array( JsonValue.Object() .Add(field.Name, CreateValue(id1, id2))); var result = arrayField.GetReferencedIds(value).ToArray(); Assert.Equal(new[] { id1, id2 }, result); }
public void Should_return_ids_from_nested_references_field() { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var sut = Fields.Array(1, "my-array", Partitioning.Invariant, Fields.References(1, "my-refs", new ReferencesFieldProperties { SchemaId = schemaId })); var value = JsonValue.Array( JsonValue.Object() .Add("my-refs", CreateValue(id1, id2))); var result = sut.ExtractReferences(value).ToArray(); Assert.Equal(new[] { id1, id2, schemaId }, result); }
public void Should_convert_nested_asset_ids_to_urls_for_wildcard_fields() { var field = Fields.Array(1, "array", Partitioning.Invariant, Fields.Assets(1, "assets")); var source = new ContentFieldData() .AddJsonValue(JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array("1", "2")))); var expected = new ContentFieldData() .AddJsonValue(JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array("url/to/1", "url/to/2")))); var result = FieldConverters.ResolveAssetUrls(new HashSet <string>(new[] { "*" }), assetUrlGenerator)(source, field); Assert.Equal(expected, result); }
public void Should_convert_nested_asset_ids_to_urls() { var field = Fields.Array(1, "array", Partitioning.Invariant, Fields.Assets(1, "assets")); var source = new ContentFieldData() .AddJsonValue(JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array(id1, id2)))); var expected = new ContentFieldData() .AddJsonValue(JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array($"url/to/{id1}", $"url/to/{id2}")))); var result = FieldConverters.ResolveAssetUrls(new HashSet <string>(new[] { "array.assets" }), urlGenerato)(source, field); Assert.Equal(expected, result); }
private static RootField <ArrayFieldProperties> Field(ArrayFieldProperties properties) { return(Fields.Array(1, "my-array", Partitioning.Invariant, properties)); }
private static RootField <ArrayFieldProperties> Field(ArrayFieldProperties properties) { return(Fields.Array(1, "myArray", Partitioning.Invariant, properties, null, Fields.String(2, "myString"))); }