TF-3614 E2E Search mailbox
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
||||
import 'package:core/presentation/views/text/text_field_builder.dart';
|
||||
@@ -7,6 +6,7 @@ import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/label_mailbox_item_widget.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_item_widget.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_creator/presentation/mailbox_creator_view.dart';
|
||||
import 'package:tmail_ui_user/features/search/mailbox/presentation/search_mailbox_view.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
|
||||
|
||||
@@ -65,6 +65,19 @@ class MailboxMenuRobot extends CoreRobot {
|
||||
.tap();
|
||||
}
|
||||
|
||||
Future<void> openMailboxSearch() async {
|
||||
await $(TMailButtonWidget)
|
||||
.which<TMailButtonWidget>((widget) {
|
||||
return widget.icon == ImagePaths().icSearchBar;
|
||||
})
|
||||
.tap();
|
||||
}
|
||||
|
||||
Future<void> searchMailbox(String query) async {
|
||||
await $(SearchMailboxView).$(TextFieldBuilder).enterText(query);
|
||||
await $.pumpAndSettle();
|
||||
}
|
||||
|
||||
Future<void> tapHideMailbox() async {
|
||||
await $(AppLocalizations().hideFolder).tap();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
import '../../base/base_test_scenario.dart';
|
||||
import '../../robots/mailbox_menu_robot.dart';
|
||||
import '../../robots/thread_robot.dart';
|
||||
|
||||
class SearchMailboxInboxScenario extends BaseTestScenario {
|
||||
const SearchMailboxInboxScenario(super.$);
|
||||
|
||||
@override
|
||||
Future<void> runTestLogic() async {
|
||||
final threadRobot = ThreadRobot($);
|
||||
final mailboxMenuRobot = MailboxMenuRobot($);
|
||||
final appLocalizations = AppLocalizations();
|
||||
|
||||
await threadRobot.openMailbox();
|
||||
await _expectMailboxViewVisible();
|
||||
|
||||
await _expectMailboxWithNameVisible(appLocalizations.inboxMailboxDisplayName);
|
||||
await mailboxMenuRobot.openMailboxSearch();
|
||||
await mailboxMenuRobot.searchMailbox(appLocalizations.inboxMailboxDisplayName);
|
||||
await _expectMailboxWithNameVisible(appLocalizations.inboxMailboxDisplayName);
|
||||
}
|
||||
|
||||
Future<void> _expectMailboxViewVisible() async {
|
||||
await expectViewVisible($(MailboxView));
|
||||
}
|
||||
|
||||
Future<void> _expectMailboxWithNameVisible(String name) async {
|
||||
await expectViewVisible($(name));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
import '../../base/test_base.dart';
|
||||
import '../../scenarios/mailbox/search_mailbox_inbox_scenario.dart';
|
||||
|
||||
void main() {
|
||||
TestBase().runPatrolTest(
|
||||
description: 'Should see expected mailbox when searching mailboxes',
|
||||
scenarioBuilder: ($) => SearchMailboxInboxScenario($),
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user