Skip to content

Commit c874531

Browse files
gnpricechrisbobbe
authored andcommitted
msglist test: Test MessageListPage.composeBoxControllerOf
1 parent 42d53c1 commit c874531

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

test/widgets/message_list_test.dart

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,31 @@ void main() {
8888
return scrollView.controller;
8989
}
9090

91+
group('MessageListPage', () {
92+
testWidgets('composeBoxControllerOf finds compose box', (tester) async {
93+
final stream = eg.stream();
94+
await setupMessageListPage(tester, narrow: StreamNarrow(stream.streamId),
95+
messages: [eg.streamMessage(stream: stream, content: "<p>a message</p>")]);
96+
final context = tester.element(find.text("a message"));
97+
check(MessageListPage.composeBoxControllerOf(context)).isNotNull();
98+
});
99+
100+
testWidgets('composeBoxControllerOf null when no compose box', (tester) async {
101+
await setupMessageListPage(tester, narrow: const CombinedFeedNarrow(),
102+
messages: [eg.streamMessage(content: "<p>a message</p>")]);
103+
final context = tester.element(find.text("a message"));
104+
check(MessageListPage.composeBoxControllerOf(context)).isNull();
105+
});
106+
107+
testWidgets('composeBoxControllerOf throws when not a descendant of MessageListPage', (tester) async {
108+
await setupMessageListPage(tester,
109+
messages: [eg.streamMessage(content: "<p>a message</p>")]);
110+
final element = tester.element(find.byType(PerAccountStoreWidget));
111+
check(() => MessageListPage.composeBoxControllerOf(element))
112+
.throws<void>();
113+
});
114+
});
115+
91116
group('presents message content appropriately', () {
92117
// regression test for https://github.com/zulip/zulip-flutter/issues/736
93118
testWidgets('content in "Combined feed" not asked to consume insets (including bottom)', (tester) async {

0 commit comments

Comments
 (0)