diff --git a/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs b/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs index 0e27454b5..99a800cde 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/DomainIdTests.cs @@ -8,6 +8,8 @@ using System; using System.Collections.Generic; using System.ComponentModel; +using System.Runtime.Serialization; +using FluentAssertions; using Squidex.Infrastructure.TestHelpers; using Xunit; @@ -17,6 +19,21 @@ namespace Squidex.Infrastructure { private readonly TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(DomainId)); + public class MyTest + { + [IgnoreDataMember] + public DomainId Calculated + { + get { return DomainId.Combine(Id0, Id1.Id); } + } + + public DomainId Id0 { get; set; } + + public NamedId Id1 { get; set; } + + public NamedId Id2 { get; set; } + } + [Fact] public void Should_initialize_default() { @@ -160,5 +177,20 @@ namespace Squidex.Infrastructure Assert.Equal(321, serialized[DomainId.Create("123")]); } + + [Fact] + public void Should_serialize_and_deserialize_in_object() + { + var obj = new MyTest + { + Id0 = DomainId.NewGuid(), + Id1 = NamedId.Of(DomainId.NewGuid(), "1"), + Id2 = NamedId.Of(DomainId.NewGuid(), "2") + }; + + var serialized = obj.SerializeAndDeserialize(); + + serialized.Should().BeEquivalentTo(obj); + } } } diff --git a/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/JsonHelper.cs b/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/JsonHelper.cs index 0ea47b255..371965abd 100644 --- a/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/JsonHelper.cs +++ b/backend/tests/Squidex.Infrastructure.Tests/TestHelpers/JsonHelper.cs @@ -40,6 +40,7 @@ namespace Squidex.Infrastructure.TestHelpers new InstantConverter(), new JsonValueConverter(), new LanguageConverter(), + new NamedDomainIdConverter(), new NamedGuidIdConverter(), new NamedLongIdConverter(), new NamedStringIdConverter(),