add message_action_modal_test

This commit is contained in:
Salvatore Giordano
2020-10-16 15:37:15 +02:00
parent b05d57267b
commit b48b59bda1
7 changed files with 150 additions and 127 deletions
+52 -16
View File
@@ -1,14 +1,14 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';
import 'package:stream_chat_flutter/src/message_reactions_modal.dart';
import 'package:stream_chat_flutter/src/message_actions_modal.dart';
import 'package:stream_chat_flutter/stream_chat_flutter.dart';
import 'mocks.dart';
void main() {
testWidgets(
'it should show two reactions',
'it should show the all actions',
(WidgetTester tester) async {
final client = MockClient();
final clientState = MockClientState();
@@ -25,22 +25,12 @@ void main() {
streamChatThemeData: streamTheme,
client: client,
child: Container(
child: MessageReactionsModal(
child: MessageActionsModal(
message: Message(
text: 'test',
user: User(
id: 'user-id',
),
latestReactions: [
Reaction(
type: 'thumbs_up',
user: User(id: 'test'),
),
Reaction(
type: 'love',
user: User(id: 'test'),
),
],
),
messageTheme: streamTheme.ownMessageTheme,
),
@@ -50,9 +40,55 @@ void main() {
);
await tester.pump();
expect(find.byIcon(StreamIcons.thumbs_up_reaction), findsNWidgets(2));
expect(find.byIcon(StreamIcons.love_reaction), findsNWidgets(2));
expect(find.text('test'), findsNWidgets(2));
expect(find.byKey(Key('MessageWidget')), findsOneWidget);
expect(find.byIcon(StreamIcons.sorting_up), findsOneWidget);
expect(find.byIcon(StreamIcons.edit), findsOneWidget);
expect(find.byIcon(StreamIcons.delete), findsOneWidget);
expect(find.byIcon(StreamIcons.copy), findsOneWidget);
},
);
testWidgets(
'it should show some actions',
(WidgetTester tester) async {
final client = MockClient();
final clientState = MockClientState();
when(client.state).thenReturn(clientState);
when(clientState.user).thenReturn(OwnUser(id: 'user-id'));
final themeData = ThemeData();
final streamTheme = StreamChatThemeData.getDefaultTheme(themeData);
await tester.pumpWidget(
MaterialApp(
theme: themeData,
home: StreamChat(
streamChatThemeData: streamTheme,
client: client,
child: Container(
child: MessageActionsModal(
showEditMessage: false,
showCopyMessage: false,
showDeleteMessage: false,
showReply: false,
message: Message(
text: 'test',
user: User(
id: 'user-id',
),
),
messageTheme: streamTheme.ownMessageTheme,
),
),
),
),
);
await tester.pump();
expect(find.byKey(Key('MessageWidget')), findsOneWidget);
expect(find.byIcon(StreamIcons.sorting_up), findsNothing);
expect(find.byIcon(StreamIcons.edit), findsNothing);
expect(find.byIcon(StreamIcons.delete), findsNothing);
expect(find.byIcon(StreamIcons.copy), findsNothing);
},
);
}
+28 -27
View File
@@ -17,21 +17,21 @@ void main() {
theme: themeData,
home: StreamChatTheme(
data: streamTheme,
child: Container(
child: MessageReactionsModal(
message: Message(
text: 'test',
user: User(
id: 'test-user',
),
child: MessageReactionsModal(
message: Message(
id: 'test',
text: 'test message',
user: User(
id: 'test-user',
),
messageTheme: streamTheme.ownMessageTheme,
),
messageTheme: streamTheme.ownMessageTheme,
),
),
),
);
expect(find.byKey(Key('MessageWidget')), findsOneWidget);
expect(find.byIcon(StreamIcons.thumbs_up_reaction), findsOneWidget);
},
);
@@ -47,41 +47,42 @@ void main() {
final themeData = ThemeData();
final streamTheme = StreamChatThemeData.getDefaultTheme(themeData);
final testUserId = 'test user';
await tester.pumpWidget(
MaterialApp(
theme: themeData,
home: StreamChat(
streamChatThemeData: streamTheme,
client: client,
child: Container(
child: MessageReactionsModal(
message: Message(
text: 'test',
user: User(
id: 'test-user',
),
latestReactions: [
Reaction(
type: 'thumbs_up',
user: User(id: 'test'),
),
Reaction(
type: 'love',
user: User(id: 'test'),
),
],
child: MessageReactionsModal(
message: Message(
text: 'test message',
user: User(
id: 'test-user',
),
messageTheme: streamTheme.ownMessageTheme,
latestReactions: [
Reaction(
type: 'thumbs_up',
user: User(id: testUserId),
),
Reaction(
type: 'love',
user: User(id: testUserId),
),
],
),
messageTheme: streamTheme.ownMessageTheme,
),
),
),
);
await tester.pump();
expect(find.byKey(Key('MessageWidget')), findsOneWidget);
expect(find.byIcon(StreamIcons.thumbs_up_reaction), findsNWidgets(2));
expect(find.byIcon(StreamIcons.love_reaction), findsNWidgets(2));
expect(find.text('test'), findsNWidgets(2));
expect(find.text(testUserId), findsNWidgets(2));
},
);
}