Skip to content

Commit b29c004

Browse files
committed
subscription_list: Exclude archived channels from list
1 parent 45cafaf commit b29c004

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

Diff for: lib/widgets/subscription_list.dart

+3
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ class _SubscriptionListPageBodyState extends State<SubscriptionListPageBody> wit
8585
final List<Subscription> pinned = [];
8686
final List<Subscription> unpinned = [];
8787
for (final subscription in store.subscriptions.values) {
88+
if (subscription.isArchived) continue;
8889
if (subscription.pinToTop) {
8990
pinned.add(subscription);
9091
} else {
@@ -188,6 +189,8 @@ class _SubscriptionList extends StatelessWidget {
188189

189190
@override
190191
Widget build(BuildContext context) {
192+
assert(subscriptions.every((subscription) => !subscription.isArchived));
193+
191194
return SliverList.builder(
192195
itemCount: subscriptions.length,
193196
itemBuilder: (BuildContext context, int index) {

Diff for: test/widgets/subscription_list_test.dart

+19
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,25 @@ void main() {
9595
check(isUnpinnedHeaderInTree()).isTrue();
9696
});
9797

98+
testWidgets('archived subscriptions are filtered out', (tester) async {
99+
await setupStreamListPage(tester, subscriptions: [
100+
eg.subscription(eg.stream(streamId: 1, isArchived: true), pinToTop: true),
101+
eg.subscription(eg.stream(streamId: 2, isArchived: true), pinToTop: false),
102+
eg.subscription(eg.stream(streamId: 3), pinToTop: true),
103+
eg.subscription(eg.stream(streamId: 4), pinToTop: false),
104+
]);
105+
106+
check(getItemCount()).equals(2);
107+
check(isPinnedHeaderInTree()).isTrue();
108+
check(isUnpinnedHeaderInTree()).isTrue();
109+
110+
check(find.text('stream 1')).findsNothing();
111+
check(find.text('stream 2')).findsNothing();
112+
113+
check(find.text('stream 3')).findsOne();
114+
check(find.text('stream 4')).findsOne();
115+
});
116+
98117
group('subscription sorting', () {
99118
Iterable<int> listedStreamIds(WidgetTester tester) => tester
100119
.widgetList<SubscriptionItem>(find.byType(SubscriptionItem))

0 commit comments

Comments
 (0)