diff --git a/tests/Squidex.Domain.Apps.Core.Tests/Schemas/Json/JsonSerializerTests.cs b/tests/Squidex.Domain.Apps.Core.Tests/Schemas/Json/JsonSerializerTests.cs index 1acfe6d06..0985ae4c8 100644 --- a/tests/Squidex.Domain.Apps.Core.Tests/Schemas/Json/JsonSerializerTests.cs +++ b/tests/Squidex.Domain.Apps.Core.Tests/Schemas/Json/JsonSerializerTests.cs @@ -10,6 +10,7 @@ using System; using System.Collections.Immutable; using FluentAssertions; using Newtonsoft.Json; +using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using Squidex.Infrastructure; using Squidex.Infrastructure.Json; @@ -20,13 +21,26 @@ namespace Squidex.Domain.Apps.Core.Schemas.Json public class JsonSerializerTests { private readonly JsonSerializerSettings serializerSettings = new JsonSerializerSettings(); + private readonly JsonSerializer serializer; private readonly TypeNameRegistry typeNameRegistry = new TypeNameRegistry(); public JsonSerializerTests() { - serializerSettings.TypeNameHandling = TypeNameHandling.Auto; serializerSettings.SerializationBinder = new TypeNameSerializationBinder(typeNameRegistry); - serializerSettings.Converters.Add(new SchemaConverter(new FieldRegistry(typeNameRegistry))); + + serializerSettings.ContractResolver = new ConverterContractResolver( + new InstantConverter(), + new LanguageConverter(), + new NamedGuidIdConverter(), + new NamedLongIdConverter(), + new NamedStringIdConverter(), + new RefTokenConverter(), + new SchemaConverter(new FieldRegistry(typeNameRegistry)), + new StringEnumConverter()); + + serializerSettings.TypeNameHandling = TypeNameHandling.Auto; + + serializer = JsonSerializer.Create(serializerSettings); } [Fact] @@ -56,7 +70,7 @@ namespace Squidex.Domain.Apps.Core.Schemas.Json new GeolocationFieldProperties())) .Publish(); - var deserialized = JToken.FromObject(schema).ToObject(); + var deserialized = JToken.FromObject(schema, serializer).ToObject(serializer); deserialized.ShouldBeEquivalentTo(schema); }