Browse Source

Fixed old code.

pull/308/head
Sebastian 8 years ago
parent
commit
dbd8c194c8
  1. 10
      src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesCleaner.cs
  2. 2
      src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs
  3. 23
      tests/Squidex.Domain.Apps.Core.Tests/Operations/ExtractReferenceIds/ReferenceExtractionTests.cs

10
src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesCleaner.cs

@ -29,11 +29,6 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds
return field.Accept(new ReferencesCleaner(value, oldReferences)); return field.Accept(new ReferencesCleaner(value, oldReferences));
} }
public JToken Visit(IArrayField field)
{
return value;
}
public JToken Visit(IField<AssetsFieldProperties> field) public JToken Visit(IField<AssetsFieldProperties> field)
{ {
return CleanIds(); return CleanIds();
@ -97,5 +92,10 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds
{ {
return value; return value;
} }
public JToken Visit(IArrayField field)
{
return value;
}
} }
} }

2
src/Squidex.Domain.Apps.Core.Operations/ExtractReferenceIds/ReferencesExtractor.cs

@ -37,7 +37,7 @@ namespace Squidex.Domain.Apps.Core.ExtractReferenceIds
{ {
foreach (var nestedField in field.Fields) foreach (var nestedField in field.Fields)
{ {
if (item.TryGetValue(field.Name, out var value)) if (item.TryGetValue(nestedField.Name, out var value))
{ {
result.AddRange(nestedField.Accept(new ReferencesExtractor(value))); result.AddRange(nestedField.Accept(new ReferencesExtractor(value)));
} }

23
tests/Squidex.Domain.Apps.Core.Tests/Operations/ExtractReferenceIds/ReferenceExtractionTests.cs

@ -36,6 +36,8 @@ namespace Squidex.Domain.Apps.Core.Operations.ExtractReferenceIds
.AddNumber(3, "field3", Partitioning.Invariant) .AddNumber(3, "field3", Partitioning.Invariant)
.AddAssets(5, "assets1", Partitioning.Invariant) .AddAssets(5, "assets1", Partitioning.Invariant)
.AddAssets(6, "assets2", Partitioning.Invariant) .AddAssets(6, "assets2", Partitioning.Invariant)
.AddArray(7, "array", Partitioning.Invariant, a => a
.AddAssets(71, "assets71"))
.AddJson(4, "json", Partitioning.Language) .AddJson(4, "json", Partitioning.Language)
.UpdateField(3, f => f.Hide()); .UpdateField(3, f => f.Hide());
} }
@ -159,6 +161,27 @@ namespace Squidex.Domain.Apps.Core.Operations.ExtractReferenceIds
Assert.Same(token, result); Assert.Same(token, result);
} }
[Fact]
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 =
new JArray(
new JObject(
new JProperty("my-refs", CreateValue(id1, id2))));
var result = sut.ExtractReferences(value).ToArray();
Assert.Equal(new[] { id1, id2, schemaId }, result);
}
[Fact] [Fact]
public void Should_return_ids_from_references_field() public void Should_return_ids_from_references_field()
{ {

Loading…
Cancel
Save