Преглед изворни кода

fix HasProviderId and add tests

cvium пре 4 година
родитељ
комит
8b72b902f5

+ 1 - 1
MediaBrowser.Model/Entities/ProviderIdsExtensions.cs

@@ -22,7 +22,7 @@ namespace MediaBrowser.Model.Entities
                 throw new ArgumentNullException(nameof(instance));
                 throw new ArgumentNullException(nameof(instance));
             }
             }
 
 
-            return instance.ProviderIds?.ContainsKey(name) ?? false;
+            return instance.TryGetProviderId(name, out _);
         }
         }
 
 
         /// <summary>
         /// <summary>

+ 19 - 0
tests/Jellyfin.Model.Tests/Entities/ProviderIdsExtensionsTests.cs

@@ -47,6 +47,15 @@ namespace Jellyfin.Model.Tests.Entities
             Assert.True(provider.HasProviderId(MetadataProvider.Imdb));
             Assert.True(provider.HasProviderId(MetadataProvider.Imdb));
         }
         }
 
 
+        [Fact]
+        public void HasProviderId_FoundNameEmptyValue_False()
+        {
+            var provider = new ProviderIdsExtensionsTestsObject();
+            provider.ProviderIds[MetadataProvider.Imdb.ToString()] = string.Empty;
+
+            Assert.False(provider.HasProviderId(MetadataProvider.Imdb));
+        }
+
         [Fact]
         [Fact]
         public void GetProviderId_NullInstance_ThrowsArgumentNullException()
         public void GetProviderId_NullInstance_ThrowsArgumentNullException()
         {
         {
@@ -112,6 +121,16 @@ namespace Jellyfin.Model.Tests.Entities
             Assert.Equal(ExampleImdbId, id);
             Assert.Equal(ExampleImdbId, id);
         }
         }
 
 
+        [Fact]
+        public void TryGetProviderId_FoundNameEmptyValue_False()
+        {
+            var provider = new ProviderIdsExtensionsTestsObject();
+            provider.ProviderIds[MetadataProvider.Imdb.ToString()] = string.Empty;
+
+            Assert.False(provider.TryGetProviderId(MetadataProvider.Imdb, out var id));
+            Assert.Null(id);
+        }
+
         [Fact]
         [Fact]
         public void SetProviderId_NullInstance_ThrowsArgumentNullException()
         public void SetProviderId_NullInstance_ThrowsArgumentNullException()
         {
         {