@@ -341,14 +341,30 @@ void main() {
341341 await tester.pump (); // [MenuItemButton.onPressed] called in a post-frame callback: flutter/flutter@e4a39fa2e
342342 }
343343
344- testWidgets ('channel not subscribed' , (tester) async {
344+ testWidgets ('channel not subscribed, with content access ' , (tester) async {
345345 await prepare ();
346346 final narrow = ChannelNarrow (someChannel.streamId);
347347 await store.removeSubscription (narrow.streamId);
348+ check (store.selfHasContentAccess (someChannel)).isTrue ();
348349 await showFromMsglistAppBar (tester, narrow: narrow);
349350 checkButton ('Subscribe' );
350351 });
351352
353+ testWidgets ('channel not subscribed, without content access' , (tester) async {
354+ final privateChannel = eg.stream (inviteOnly: true );
355+ await prepare ();
356+ await store.addStream (privateChannel);
357+ await store.updateChannel (privateChannel.streamId,
358+ ChannelPropertyName .canSubscribeGroup, eg.groupSetting (members: []));
359+ await store.updateChannel (privateChannel.streamId,
360+ ChannelPropertyName .canAddSubscribersGroup, eg.groupSetting (members: []));
361+ final narrow = ChannelNarrow (privateChannel.streamId);
362+ check (store.selfHasContentAccess (privateChannel)).isFalse ();
363+ await showFromMsglistAppBar (tester,
364+ channel: privateChannel, narrow: narrow);
365+ checkNoButton ('Subscribe' );
366+ });
367+
352368 testWidgets ('channel subscribed' , (tester) async {
353369 await prepare ();
354370 final narrow = ChannelNarrow (someChannel.streamId);
0 commit comments