fix(livetv): show guide without favorites

This commit is contained in:
edde746
2026-05-13 09:22:17 +02:00
parent 12073ea134
commit 0e296f8659
3 changed files with 52 additions and 9 deletions
+31
View File
@@ -16,4 +16,35 @@ void main() {
expect(liveTvChannelScopeKey(a), isNot(liveTvChannelScopeKey(b)));
});
test('favorite filtering falls back to all channels when no favorites are loaded', () {
final channels = [LiveTvChannel(key: '101'), LiveTvChannel(key: '102')];
final filtered = filterLiveTvChannelsForFavorites(
channels: channels,
favoritesOnly: true,
favorites: const [],
sourceForChannel: (_) => 'server://server-1/provider-a',
);
expect(filtered, same(channels));
});
test('favorite filtering preserves favorite order and source scope', () {
final channels = [LiveTvChannel(key: '101'), LiveTvChannel(key: '102'), LiveTvChannel(key: '101')];
const sourceA = 'server://server-1/provider-a';
const sourceB = 'server://server-2/provider-a';
final filtered = filterLiveTvChannelsForFavorites(
channels: channels,
favoritesOnly: true,
favorites: [
FavoriteChannel(source: sourceB, id: '101'),
FavoriteChannel(source: sourceA, id: '102'),
],
sourceForChannel: (channel) => identical(channel, channels[2]) ? sourceB : sourceA,
);
expect(filtered, [channels[2], channels[1]]);
});
}