import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:tmail_ui_user/features/base/widget/material_text_button.dart'; import 'package:tmail_ui_user/features/email/presentation/widgets/email_view_back_button.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import '../base/core_robot.dart'; class EmailRobot extends CoreRobot { EmailRobot(super.$); Future onTapForwardEmail() async { await $(#forward_email_button).tap(); await $.pump(const Duration(seconds: 2)); } Future tapDownloadAllButton() async { await $(AppLocalizations().archiveAndDownload).tap(); await $.pumpAndSettle(); } Future onTapReplyEmail() async { await $(#reply_email_button).tap(); } Future onTapReplyToListEmail() async { await $(#reply_to_list_email_button).tap(); } Future onTapReplyAllEmail() async { await $(#reply_all_emails_button).tap(); } Future onTapBackButton() async { await $(find.byType(EmailViewBackButton)).first.tap(); } Future tapEmailDetailedMoreButton() async { await $(#email_detailed_more_button).tap(); } Future tapMarkAsUnreadOptionInContextMenu() async { await $(#markAsUnread_action).tap(); } Future tapEmailDetailedStarButton() async { await $(#email_detailed_star_button).tap(); } Future tapEmailDetailedMoveEmailButton() async { await $(#email_detailed_move_email_button).tap(); } Future tapEmailDetailedDeleteEmailButton() async { await $(#email_detailed_delete_email_button).tap(); } Future tapMarkAsSpamOptionInContextMenu() async { await $(#moveToSpam_action).tap(); } Future tapArchiveMessageOptionInContextMenu() async { await $(#archiveMessage_action).tap(); } Future tapSenderEmailAddress(String email) async { await $(MaterialTextButton) .which((widget) => widget.label.contains(email)) .first .tap(); } Future tapRecipientEmailAddress(String email) async { await $(TMailButtonWidget) .which((widget) => widget.text.contains(email)) .first .tap(); } Future longPressSenderEmailAddress(String email) async { await $(MaterialTextButton) .which((widget) => widget.label.contains(email)) .first .longPress(); } }