aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-08-24 21:49:53 +0200
committerShadowghost <Ghost_of_Stone@web.de>2026-08-24 21:56:31 +0200
commit4c524f033f66d7a3a3a8b9b8ec706ea10330ea31 (patch)
tree72f4321cb6897c3d01c06e94f05fdc6f7a7af276 /tests
parent422b2bb3d9193bfe0813d3d654919151eb355d82 (diff)
Fix OMDB People handling
Diffstat (limited to 'tests')
-rw-r--r--tests/Jellyfin.Providers.Tests/Omdb/OmdbProviderTests.cs51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/Jellyfin.Providers.Tests/Omdb/OmdbProviderTests.cs b/tests/Jellyfin.Providers.Tests/Omdb/OmdbProviderTests.cs
new file mode 100644
index 0000000000..d18c8c21a2
--- /dev/null
+++ b/tests/Jellyfin.Providers.Tests/Omdb/OmdbProviderTests.cs
@@ -0,0 +1,51 @@
+using System.Linq;
+using Jellyfin.Data.Enums;
+using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Providers.Plugins.Omdb;
+using Xunit;
+
+namespace Jellyfin.Providers.Tests.Omdb
+{
+ public class OmdbProviderTests
+ {
+ [Fact]
+ public void AddPeople_CommaSeparatedList_SplitsIntoIndividualPeople()
+ {
+ var result = new MetadataResult<Movie>();
+
+ OmdbProvider.AddPeople(result, "Philip G. Epstein, Julius J. Epstein, Howard Koch", PersonKind.Writer);
+
+ Assert.Equal(
+ new[] { "Philip G. Epstein", "Julius J. Epstein", "Howard Koch" },
+ result.People!.Select(p => p.Name));
+ Assert.All(result.People!, p => Assert.Equal(PersonKind.Writer, p.Type));
+ }
+
+ [Fact]
+ public void AddPeople_RoleAnnotations_AreStrippedAndDeduplicated()
+ {
+ var result = new MetadataResult<Movie>();
+
+ OmdbProvider.AddPeople(result, "Mari Okada (screenplay), Mari Okada (story), Jun'ichi Satô (screenplay), Jun'ichi Satô (story)", PersonKind.Writer);
+
+ Assert.Equal(
+ new[] { "Mari Okada", "Jun'ichi Satô" },
+ result.People!.Select(p => p.Name));
+ }
+
+ [Theory]
+ [InlineData(null)]
+ [InlineData("")]
+ [InlineData(" ")]
+ [InlineData("(uncredited)")]
+ public void AddPeople_NoUsableName_AddsNothing(string? credits)
+ {
+ var result = new MetadataResult<Movie>();
+
+ OmdbProvider.AddPeople(result, credits!, PersonKind.Actor);
+
+ Assert.Null(result.People);
+ }
+ }
+}