test: fix tests.

Signed-off-by: xsahil03x <[email protected]>
This commit is contained in:
Sahil Kumar
2023-06-20 16:05:04 +05:30
committed by xsahil03x
parent 01c9b77d5d
commit 3b3b3d3d55
2 changed files with 52 additions and 73 deletions
@@ -4,24 +4,51 @@ import 'package:golden_toolkit/golden_toolkit.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
void main() {
testWidgets('StreamSendingIndicator shows an Icon', (tester) async {
await tester.pumpWidget(
MaterialApp(
home: StreamChatTheme(
data: StreamChatThemeData.light(),
child: Scaffold(
body: Center(
child: StreamSendingIndicator(
message: Message(),
testWidgets(
'StreamSendingIndicator shows sizedBox if messsage state is initial',
(tester) async {
await tester.pumpWidget(
MaterialApp(
home: StreamChatTheme(
data: StreamChatThemeData.light(),
child: Scaffold(
body: Center(
child: StreamSendingIndicator(
message: Message(),
),
),
),
),
),
),
);
);
expect(find.byType(Icon), findsOneWidget);
});
expect(find.byType(SizedBox), findsOneWidget);
},
);
testWidgets(
'StreamSendingIndicator shows an Icon if message state is not initial',
(tester) async {
await tester.pumpWidget(
MaterialApp(
home: StreamChatTheme(
data: StreamChatThemeData.light(),
child: Scaffold(
body: Center(
child: StreamSendingIndicator(
message: Message(
state: MessageState.sent,
),
),
),
),
),
),
);
expect(find.byType(Icon), findsOneWidget);
},
);
testGoldens(
'golden test for StreamSendingIndicator with StreamSvgIcon.checkAll',
@@ -431,15 +431,23 @@ void main() {
);
testWidgets(
'tapping on resend should call send message',
'tapping on resend should call retry message',
(WidgetTester tester) async {
final client = MockClient();
final clientState = MockClientState();
final channel = MockChannel();
final message = Message(
state: MessageState.sendingFailed,
text: 'test',
user: User(
id: 'user-id',
),
);
when(() => client.state).thenReturn(clientState);
when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id'));
when(() => channel.sendMessage(any()))
when(() => channel.retryMessage(message))
.thenAnswer((_) async => SendMessageResponse());
final themeData = ThemeData();
@@ -459,13 +467,7 @@ void main() {
child: SizedBox(
child: MessageActionsModal(
messageWidget: const Text('test'),
message: Message(
state: MessageState.sendingFailed,
text: 'test',
user: User(
id: 'user-id',
),
),
message: message,
messageTheme: streamTheme.ownMessageTheme,
),
),
@@ -476,57 +478,7 @@ void main() {
await tester.tap(find.text('Resend'));
verify(() => channel.sendMessage(any())).called(1);
},
);
testWidgets(
'tapping on resend should call update message if editing the message',
(WidgetTester tester) async {
final client = MockClient();
final clientState = MockClientState();
final channel = MockChannel();
when(() => client.state).thenReturn(clientState);
when(() => clientState.currentUser).thenReturn(OwnUser(id: 'user-id'));
when(() => channel.updateMessage(any()))
.thenAnswer((_) async => UpdateMessageResponse());
final themeData = ThemeData();
final streamTheme = StreamChatThemeData.fromTheme(themeData);
await tester.pumpWidget(
MaterialApp(
builder: (context, child) => StreamChat(
client: client,
streamChatThemeData: streamTheme,
child: child,
),
theme: themeData,
home: StreamChannel(
showLoading: false,
channel: channel,
child: SizedBox(
child: MessageActionsModal(
messageWidget: const Text('test'),
message: Message(
state: MessageState.updatingFailed,
text: 'test',
user: User(
id: 'user-id',
),
),
messageTheme: streamTheme.ownMessageTheme,
),
),
),
),
);
await tester.pumpAndSettle();
await tester.tap(find.text('Resend Edited Message'));
verify(() => channel.updateMessage(any())).called(1);
verify(() => channel.retryMessage(message)).called(1);
},
);