Skip to content

Commit 9a31cae

Browse files
committed
subscription_list: Exclude archived channels from list
1 parent 879e9a8 commit 9a31cae

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

lib/widgets/subscription_list.dart

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ class _SubscriptionListPageBodyState extends State<SubscriptionListPageBody> wit
8484
final List<Subscription> pinned = [];
8585
final List<Subscription> unpinned = [];
8686
for (final subscription in store.subscriptions.values) {
87+
if (subscription.isArchived) continue;
8788
if (subscription.pinToTop) {
8889
pinned.add(subscription);
8990
} else {

test/widgets/subscription_list_test.dart

+19
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,25 @@ void main() {
7575
check(isUnpinnedHeaderInTree()).isTrue();
7676
});
7777

78+
testWidgets('archived subscriptions are filtered out', (tester) async {
79+
await setupStreamListPage(tester, subscriptions: [
80+
eg.subscription(eg.stream(streamId: 1, isArchived: true), pinToTop: true),
81+
eg.subscription(eg.stream(streamId: 2, isArchived: true), pinToTop: false),
82+
eg.subscription(eg.stream(streamId: 3), pinToTop: true),
83+
eg.subscription(eg.stream(streamId: 4), pinToTop: false),
84+
]);
85+
86+
check(getItemCount()).equals(2);
87+
check(isPinnedHeaderInTree()).isTrue();
88+
check(isUnpinnedHeaderInTree()).isTrue();
89+
90+
check(find.text('stream 1')).findsNothing();
91+
check(find.text('stream 2')).findsNothing();
92+
93+
check(find.text('stream 3')).findsOne();
94+
check(find.text('stream 4')).findsOne();
95+
});
96+
7897
testWidgets('only pinned subscriptions', (tester) async {
7998
await setupStreamListPage(tester, subscriptions: [
8099
eg.subscription(eg.stream(streamId: 1), pinToTop: true),

0 commit comments

Comments
 (0)