feat: add startup section setting

close #1240
This commit is contained in:
edde746
2026-06-06 13:08:02 +02:00
parent 4c4b18e2cd
commit 1ef4032666
38 changed files with 286 additions and 73 deletions
+45
View File
@@ -0,0 +1,45 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:plezy/navigation/navigation_tabs.dart';
void main() {
group('NavigationTab.resolveDefaultTab', () {
test('offline prefers Downloads when available', () {
expect(
NavigationTab.resolveDefaultTab(isOffline: true, hasLiveTv: false, preferredStartup: null),
NavigationTabId.downloads,
);
});
test('offline ignores an online-only preferred section', () {
expect(
NavigationTab.resolveDefaultTab(isOffline: true, hasLiveTv: true, preferredStartup: NavigationTabId.liveTv),
NavigationTabId.downloads,
);
});
test('online honours the preferred section when it is visible', () {
expect(
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: true, preferredStartup: NavigationTabId.liveTv),
NavigationTabId.liveTv,
);
expect(
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: false, preferredStartup: NavigationTabId.search),
NavigationTabId.search,
);
});
test('online falls back to Home when preferred Live TV is unavailable', () {
expect(
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: false, preferredStartup: NavigationTabId.liveTv),
NavigationTabId.discover,
);
});
test('online defaults to Home when no preference is set', () {
expect(
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: true, preferredStartup: null),
NavigationTabId.discover,
);
});
});
}