diff --git a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FindExtensions.cs b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FindExtensions.cs index 80b2cedab..5c9a83ae9 100644 --- a/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FindExtensions.cs +++ b/backend/src/Squidex.Domain.Apps.Entities.MongoDb/Assets/Visitors/FindExtensions.cs @@ -46,7 +46,7 @@ namespace Squidex.Domain.Apps.Entities.MongoDb.Assets.Visitors if (parentId.HasValue) { - if (parentId.Value == DomainId.Empty) + if (parentId == DomainId.Empty) { filters.Add( Filter.Or( diff --git a/backend/src/Squidex.Infrastructure/DomainId.cs b/backend/src/Squidex.Infrastructure/DomainId.cs index 4102c1460..d253ed45e 100644 --- a/backend/src/Squidex.Infrastructure/DomainId.cs +++ b/backend/src/Squidex.Infrastructure/DomainId.cs @@ -31,7 +31,7 @@ namespace Squidex.Infrastructure return null; } - return new DomainId(value); + return Create(value); } public static DomainId Create(string value) diff --git a/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs b/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs index 93ce4664e..0e27454b5 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs @@ -91,6 +91,30 @@ namespace Squidex.Infrastructure Assert.Equal(text, domainId.ToString()); } + [Fact] + public void Should_compare_with_nullable() + { + DomainId? value = DomainId.Empty; + + Assert.True(value == DomainId.Empty); + } + + [Fact] + public void Should_compare_with_nullable2() + { + DomainId? value = DomainId.Create(Guid.Empty.ToString()); + + Assert.True(value == DomainId.Empty); + } + + [Fact] + public void Should_compare_with_non_shared_nullable() + { + DomainId? value = DomainId.Create("0"); + + Assert.True(value == DomainId.Create("0")); + } + [Fact] public void Should_make_correct_equal_comparisons() {