Skip to content

Commit c072f9e

Browse files
tddang-linagoradab246
authored andcommitted
TF-3614 E2E Search mailbox
1 parent 9a84f12 commit c072f9e

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

integration_test/robots/mailbox_menu_robot.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import 'package:core/presentation/resources/image_paths.dart';
32
import 'package:core/presentation/views/button/tmail_button_widget.dart';
43
import 'package:core/presentation/views/text/text_field_builder.dart';
@@ -7,6 +6,7 @@ import 'package:get/get.dart';
76
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart';
87
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_item_widget.dart';
98
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_view.dart';
9+
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_view.dart';
1010
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
1111
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
1212

@@ -65,6 +65,19 @@ class MailboxMenuRobot extends CoreRobot {
6565
.tap();
6666
}
6767

68+
Future<void> openMailboxSearch() async {
69+
await $(TMailButtonWidget)
70+
.which<TMailButtonWidget>((widget) {
71+
return widget.icon == ImagePaths().icSearchBar;
72+
})
73+
.tap();
74+
}
75+
76+
Future<void> searchMailbox(String query) async {
77+
await $(SearchMailboxView).$(TextFieldBuilder).enterText(query);
78+
await $.pumpAndSettle();
79+
}
80+
6881
Future<void> tapHideMailbox() async {
6982
await $(AppLocalizations().hideFolder).tap();
7083
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import 'package:flutter_test/flutter_test.dart';
2+
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view.dart';
3+
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
4+
5+
import '../../base/base_test_scenario.dart';
6+
import '../../robots/mailbox_menu_robot.dart';
7+
import '../../robots/thread_robot.dart';
8+
9+
class SearchMailboxInboxScenario extends BaseTestScenario {
10+
const SearchMailboxInboxScenario(super.$);
11+
12+
@override
13+
Future<void> runTestLogic() async {
14+
final threadRobot = ThreadRobot($);
15+
final mailboxMenuRobot = MailboxMenuRobot($);
16+
final appLocalizations = AppLocalizations();
17+
18+
await threadRobot.openMailbox();
19+
await _expectMailboxViewVisible();
20+
21+
await _expectMailboxWithNameVisible(appLocalizations.inboxMailboxDisplayName);
22+
await mailboxMenuRobot.openMailboxSearch();
23+
await mailboxMenuRobot.searchMailbox(appLocalizations.inboxMailboxDisplayName);
24+
await _expectMailboxWithNameVisible(appLocalizations.inboxMailboxDisplayName);
25+
}
26+
27+
Future<void> _expectMailboxViewVisible() async {
28+
await expectViewVisible($(MailboxView));
29+
}
30+
31+
Future<void> _expectMailboxWithNameVisible(String name) async {
32+
await expectViewVisible($(name));
33+
}
34+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import '../../base/test_base.dart';
2+
import '../../scenarios/mailbox/search_mailbox_inbox_scenario.dart';
3+
4+
void main() {
5+
TestBase().runPatrolTest(
6+
description: 'Should see expected mailbox when searching mailboxes',
7+
scenarioBuilder: ($) => SearchMailboxInboxScenario($),
8+
);
9+
}

0 commit comments

Comments
 (0)