Merge pull request #16914 from danieltutuianu/fix/livetv-channel-icon-refresh

Live TV: re-fetch channel icons on guide refresh
This commit is contained in:
Cody Robibero
2026-06-27 09:52:51 -04:00
committed by GitHub
4 changed files with 89 additions and 18 deletions

View File

@@ -0,0 +1,51 @@
using Jellyfin.LiveTv;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Model.Entities;
using Xunit;
namespace Jellyfin.LiveTv.Tests;
public class LiveTvChannelImageHelperTests
{
[Fact]
public void UpdateChannelImageIfNeeded_NoSource_DoesNotUpdate()
{
var channel = new LiveTvChannel { Name = "Test Channel" };
var updated = LiveTvChannelImageHelper.UpdateChannelImageIfNeeded(channel, null, null);
Assert.False(updated);
Assert.False(channel.HasImage(ImageType.Primary));
}
[Fact]
public void UpdateChannelImageIfNeeded_WithUrl_AppliesUrl()
{
var channel = new LiveTvChannel { Name = "Test Channel" };
var updated = LiveTvChannelImageHelper.UpdateChannelImageIfNeeded(
channel,
null,
"https://example.com/icon.png");
Assert.True(updated);
Assert.True(channel.HasImage(ImageType.Primary));
Assert.Equal("https://example.com/icon.png", channel.GetImagePath(ImageType.Primary));
}
[Fact]
public void UpdateChannelImageIfNeeded_SameUrl_StillUpdates()
{
var channel = new LiveTvChannel { Name = "Test Channel" };
LiveTvChannelImageHelper.UpdateChannelImageIfNeeded(channel, null, "https://example.com/icon.png");
var updated = LiveTvChannelImageHelper.UpdateChannelImageIfNeeded(
channel,
null,
"https://example.com/icon.png");
Assert.True(updated);
Assert.Equal("https://example.com/icon.png", channel.GetImagePath(ImageType.Primary));
}
}