public void Should_remove_deleted_references_from_assets_field() { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var sut = Fields.Assets(1, "my-asset", Partitioning.Invariant); var result = sut.CleanReferences(CreateValue(id1, id2), HashSet.Of(id2)); Assert.Equal(CreateValue(id1), result); }
public void Should_return_ids_from_assets_field() { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var sut = Fields.Assets(1, "my-asset", Partitioning.Invariant); var result = sut.ExtractReferences(CreateValue(id1, id2)).ToArray(); Assert.Equal(new[] { id1, id2 }, result); }
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_asset_ids_to_urls(string path) { var field = Fields.Assets(1, "assets", Partitioning.Invariant); var source = JsonValue.Array(id1, id2); var expected = JsonValue.Array($"url/to/{id1}", $"url/to/{id2}"); var result = ValueConverters.ResolveAssetUrls(HashSet.Of(path), urlGenerator)(source, field); Assert.Equal(expected, result); }
public void Should_return_same_token_from_assets_field_when_removing_references_and_nothing_to_remove() { var id1 = Guid.NewGuid(); var id2 = Guid.NewGuid(); var sut = Fields.Assets(1, "my-asset", Partitioning.Invariant); var token = CreateValue(id1, id2); var result = sut.CleanReferences(token, HashSet.Of(Guid.NewGuid())); Assert.Same(token, result); }
public void Should_not_convert_asset_ids_if_field_name_does_not_match(string path) { var field = Fields.Assets(1, "assets", Partitioning.Invariant); var source = JsonValue.Array(id1, id2); var expected = source; var result = ValueConverters.ResolveAssetUrls(appId, HashSet.Of(path), urlGenerator)(source, field, null); Assert.Equal(expected, result); }
public void Should_not_convert_asset_ids_to_urls_when_fields_is_null() { var field = Fields.Assets(1, "assets", Partitioning.Invariant); var source = new ContentFieldData() .AddJsonValue(JsonValue.Array("1", "2")); var expected = new ContentFieldData() .AddJsonValue(JsonValue.Array("1", "2")); var result = FieldConverters.ResolveAssetUrls(null, assetUrlGenerator)(source, field); Assert.Equal(expected, result); }
public void Should_convert_asset_ids_to_urls_for_wildcard_fields() { var field = Fields.Assets(1, "assets", Partitioning.Invariant); var source = new ContentFieldData() .AddJsonValue(JsonValue.Array("1", "2")); var expected = new ContentFieldData() .AddJsonValue(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_not_convert_asset_ids_to_urls_when_field_does_not_match() { var field = Fields.Assets(1, "assets", Partitioning.Invariant); var source = new ContentFieldData() .AddJsonValue(JsonValue.Array(id1, id2)); var expected = new ContentFieldData() .AddJsonValue(JsonValue.Array(id1, id2)); var result = FieldConverters.ResolveAssetUrls(new HashSet <string>(new[] { "other" }), urlGenerato)(source, field); Assert.Equal(expected, 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(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[] { "*" }), urlGenerato)(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() .AddValue("iv", JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array("1", "2")))); var expected = new ContentFieldData() .AddValue("iv", JsonValue.Array( JsonValue.Object() .Add("assets", JsonValue.Array("url/to/1", "url/to/2")))); var result = FieldConverters.ResolveAssetUrls(new HashSet <string>(new[] { "array.assets" }), assetUrlGenerator)(source, field); Assert.Equal(expected, result); }
public static IEnumerable <object[]> ReferencingFields() { yield return(new object[] { Fields.References(1, "my-refs", Partitioning.Invariant) }); yield return(new object[] { Fields.Assets(1, "my-assets", Partitioning.Invariant) }); }
public static IEnumerable <object[]> ReferencingNestedFields() { yield return(new object[] { Fields.References(1, "my-refs") }); yield return(new object[] { Fields.Assets(1, "my-assets") }); }
private static RootField <AssetsFieldProperties> Field(AssetsFieldProperties properties) { return(Fields.Assets(1, "my-assets", Partitioning.Invariant, properties)); }