diff --git a/backend/src/Squidex.Infrastructure/Queries/Json/JsonFilterSurrogate.cs b/backend/src/Squidex.Infrastructure/Queries/Json/JsonFilterSurrogate.cs index 69f2d466f..1e22f1ee2 100644 --- a/backend/src/Squidex.Infrastructure/Queries/Json/JsonFilterSurrogate.cs +++ b/backend/src/Squidex.Infrastructure/Queries/Json/JsonFilterSurrogate.cs @@ -46,9 +46,9 @@ namespace Squidex.Infrastructure.Queries.Json return new LogicalFilter(LogicalFilterType.Or, Or); } - if (!string.IsNullOrWhiteSpace(Path) && Op != null) + if (!string.IsNullOrWhiteSpace(Path)) { - return new CompareFilter(Path, Op.Value, Value ?? JsonValue.Null); + return new CompareFilter(Path, Op ?? CompareOperator.Equals, Value ?? JsonValue.Null); } throw new JsonException(Errors.InvalidJsonStructure()); diff --git a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryJsonTests.cs b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryJsonTests.cs index fcd7a8a46..0ea373dc9 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryJsonTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/Queries/QueryJsonTests.cs @@ -38,6 +38,16 @@ namespace Squidex.Infrastructure.Queries Assert.Equal(expected, filter.ToString()); } + [Fact] + public void Should_convert_comparison_without_operator() + { + var json = new { path = "property" }; + + var filter = SerializeAndDeserialize(json); + + Assert.Equal("property == null", filter.ToString()); + } + [Fact] public void Should_convert_comparison_empty() { @@ -141,14 +151,6 @@ namespace Squidex.Infrastructure.Queries Assert.ThrowsAny(() => SerializeAndDeserialize(json)); } - [Fact] - public void Should_throw_exception_for_missing_operator() - { - var json = new { path = "property", value = 12 }; - - Assert.ThrowsAny(() => SerializeAndDeserialize(json)); - } - [Fact] public void Should_throw_exception_for_missing_value() {