Fix OMDB People handling

This commit is contained in:
Shadowghost
2026-08-24 21:49:53 +02:00
parent 422b2bb3d9
commit 4c524f033f
2 changed files with 79 additions and 29 deletions
@@ -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);
}
}
}