Browse Source

Remove description for merged filter fields.

pull/861/head
Sebastian 4 years ago
parent
commit
49e4b49f4e
  1. 6
      backend/src/Squidex.Infrastructure/Queries/FilterSchema.cs
  2. 27
      backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs

6
backend/src/Squidex.Infrastructure/Queries/FilterSchema.cs

@ -88,10 +88,14 @@ namespace Squidex.Infrastructure.Queries
{
var firstType = group.First().Schema.Type;
if (group.All(x => x.Schema.Type == firstType))
if (group.Count() == 1)
{
return group.Take(1);
}
else if (group.All(x => x.Schema.Type == firstType))
{
return group.Take(1).Select(x => x with { Description = null });
}
else
{
return Enumerable.Empty<FilterField>();

27
backend/tests/Squidex.Infrastructure.Tests/Queries/FilterSchemaTests.cs

@ -77,6 +77,33 @@ namespace Squidex.Infrastructure.Queries
Assert.Equal(expected, actual);
}
[Fact]
public void Should_remove_Descriptions_for_merged_fields()
{
var schema = new FilterSchema(FilterSchemaType.Object)
{
Fields = new[]
{
new FilterField(FilterSchema.String, "property1", "Description1"),
new FilterField(FilterSchema.String, "property2", "Description2"),
new FilterField(FilterSchema.String, "property2", "Description3")
}.ToReadonlyList()
};
var expected = new FilterSchema(FilterSchemaType.Object)
{
Fields = new[]
{
new FilterField(FilterSchema.String, "property1", "Description1"),
new FilterField(FilterSchema.String, "property2")
}.ToReadonlyList()
};
var actual = schema.Flatten();
Assert.Equal(expected, actual);
}
[Fact]
public void Should_filter_out_fields_by_predicate_when_flatten()
{

Loading…
Cancel
Save