feat(explore): Explore tab with catalog detail, search, and Seerr requests
This commit is contained in:
@@ -41,5 +41,40 @@ void main() {
|
||||
NavigationTabId.discover,
|
||||
);
|
||||
});
|
||||
|
||||
test('online falls back to Home when preferred Explore is unavailable', () {
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(isOffline: false, hasLiveTv: false, preferredStartup: NavigationTabId.explore),
|
||||
NavigationTabId.discover,
|
||||
);
|
||||
expect(
|
||||
NavigationTab.resolveDefaultTab(
|
||||
isOffline: false,
|
||||
hasLiveTv: false,
|
||||
hasExplore: true,
|
||||
preferredStartup: NavigationTabId.explore,
|
||||
),
|
||||
NavigationTabId.explore,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
group('NavigationTab.getVisibleTabs', () {
|
||||
test('hides Explore until a catalog source is connected', () {
|
||||
final without = NavigationTab.getVisibleTabs(isOffline: false);
|
||||
expect(without.map((tab) => tab.id), isNot(contains(NavigationTabId.explore)));
|
||||
|
||||
final with_ = NavigationTab.getVisibleTabs(isOffline: false, hasExplore: true, hasLiveTv: true);
|
||||
final ids = with_.map((tab) => tab.id).toList();
|
||||
expect(ids, contains(NavigationTabId.explore));
|
||||
// Explore sits after Live TV, directly before Search.
|
||||
expect(ids.indexOf(NavigationTabId.explore), ids.indexOf(NavigationTabId.liveTv) + 1);
|
||||
expect(ids.indexOf(NavigationTabId.explore), ids.indexOf(NavigationTabId.search) - 1);
|
||||
});
|
||||
|
||||
test('Explore is online-only', () {
|
||||
final offline = NavigationTab.getVisibleTabs(isOffline: true, hasExplore: true);
|
||||
expect(offline.map((tab) => tab.id), isNot(contains(NavigationTabId.explore)));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user