diff options
| author | Niels van Velzen <nielsvanvelzen@users.noreply.github.com> | 2026-05-06 19:08:19 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-06 19:08:19 +0200 |
| commit | c0593281ffed203d4d0b51c52511e84c0ac85706 (patch) | |
| tree | cfc4238e8635f852e3afc096e9135b64a4915063 /tests | |
| parent | d648aba881d8017792f0ea8d1c726f039daf66a8 (diff) | |
| parent | c483619928725cd2803ad99d126a3d44b87f23a1 (diff) | |
Merge pull request #16466 from PERSONALPANCHIWIRIS/fix/issue#16308_community_rating_not_updating
Fix #16308: Community ratings not updating after changing .nfo file.
Diffstat (limited to 'tests')
4 files changed, 58 insertions, 0 deletions
diff --git a/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs b/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs index 1e8652f4b9..4142831c31 100644 --- a/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs +++ b/tests/Jellyfin.XbmcMetadata.Tests/Parsers/MovieNfoParserTests.cs @@ -294,5 +294,48 @@ namespace Jellyfin.XbmcMetadata.Tests.Parsers // Verify that the lowercase "tmdbcol" is NOT in the provider IDs Assert.False(item.ProviderIds.ContainsKey("tmdbcol")); } + + [Fact] + public void Parse_CommunityRating_ValidRating_Success() + { + var result = new MetadataResult<Video>() + { + Item = new Movie() + }; + + _parser.Fetch(result, "Test Data/CommunityRating.nfo", CancellationToken.None); + var item = (Movie)result.Item; + + Assert.Equal(7.5f, item.CommunityRating); + } + + [Fact] + public void Parse_CommunityRating_OutOfRange_Ignored() + { + var result = new MetadataResult<Video>() + { + Item = new Movie() + }; + + _parser.Fetch(result, "Test Data/CommunityRating_OutOfRange.nfo", CancellationToken.None); + var item = (Movie)result.Item; + + // Rating should not be set if outside 0-10 range + Assert.Null(item.CommunityRating); + } + + [Fact] + public void Parse_CommunityRating_Comma() + { + var result = new MetadataResult<Video>() + { + Item = new Movie() + }; + + _parser.Fetch(result, "Test Data/CommunityRating_Comma.nfo", CancellationToken.None); + var item = (Movie)result.Item; + + Assert.Equal(7.5f, item.CommunityRating); + } } } diff --git a/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating.nfo b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating.nfo new file mode 100644 index 0000000000..387de10c0e --- /dev/null +++ b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating.nfo @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<movie> + <title>Test Movie</title> + <communityrating>7.5</communityrating> +</movie>
\ No newline at end of file diff --git a/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_Comma.nfo b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_Comma.nfo new file mode 100644 index 0000000000..4ec215e2e1 --- /dev/null +++ b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_Comma.nfo @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<movie> + <title>Test Movie</title> + <communityrating>7,5</communityrating> +</movie>
\ No newline at end of file diff --git a/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_OutOfRange.nfo b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_OutOfRange.nfo new file mode 100644 index 0000000000..126854edd3 --- /dev/null +++ b/tests/Jellyfin.XbmcMetadata.Tests/Test Data/CommunityRating_OutOfRange.nfo @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<movie> + <title>Test Movie</title> + <communityrating>15.5</communityrating> +</movie>
\ No newline at end of file |
