@@ -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',
|
||||
|
||||
+12
-60
@@ -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);
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user