diff --git a/tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs b/tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs index 90537dc1ff..aae95e7314 100644 --- a/tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs +++ b/tests/Jellyfin.Common.Tests/Json/JsonOmdbConverterTests.cs @@ -1,5 +1,7 @@ using System.Text.Json; +using System.Text.Json.Serialization; using MediaBrowser.Common.Json; +using MediaBrowser.Common.Json.Converters; using MediaBrowser.Providers.Plugins.Omdb; using Xunit; @@ -17,5 +19,39 @@ namespace Jellyfin.Common.Tests.Json Assert.Null(seasonRootObject?.Episode); Assert.Null(seasonRootObject?.Metascore); } + + [Fact] + public static void Deserialize_Not_Available_Int_Success() + { + const string Input = "\"N/A\""; + var options = new JsonSerializerOptions + { + NumberHandling = JsonNumberHandling.AllowReadingFromString, + Converters = + { + new JsonOmdbNotAvailableStructConverter() + } + }; + + var result = JsonSerializer.Deserialize(Input, options); + Assert.Null(result); + } + + [Fact] + public static void Deserialize_Not_Available_String_Success() + { + const string Input = "\"N/A\""; + var options = new JsonSerializerOptions + { + Converters = + { + new JsonOmdbNotAvailableStringConverter() + } + }; + + options.Converters.Add(new JsonOmdbNotAvailableStringConverter()); + var result = JsonSerializer.Deserialize(Input, options); + Assert.Null(result); + } } }