TF-2528 Add integration test for search email with sort by sender nam…e ascending

This commit is contained in:
dab246
2024-11-13 15:51:25 +07:00
committed by Dat H. Pham
parent cf2a0b08e5
commit 51a4a1b9b7
27 changed files with 591 additions and 59 deletions
@@ -50,10 +50,6 @@ class ComposerRobot extends CoreRobot {
.tap();
}
Future<void> expectSendEmailSuccessToast() async {
expect($('Message has been sent successfully'), findsOneWidget);
}
Future<void> grantContactPermission() async {
if (await $.native.isPermissionDialogVisible(timeout: const Duration(seconds: 5))) {
await $.native.grantPermissionWhenInUse();
+6 -4
View File
@@ -1,9 +1,9 @@
import 'package:core/presentation/views/text/type_ahead_form_field_builder.dart';
import 'package:flutter/material.dart';
import 'package:patrol/patrol.dart';
import 'package:tmail_ui_user/features/login/domain/model/recent_login_username.dart';
import 'package:tmail_ui_user/features/login/presentation/login_view.dart';
import 'package:tmail_ui_user/features/login/presentation/widgets/login_text_input_builder.dart';
import 'package:tmail_ui_user/features/starting_page/presentation/twake_welcome/twake_welcome_view.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import '../base/core_robot.dart';
@@ -11,15 +11,17 @@ import '../base/core_robot.dart';
class LoginRobot extends CoreRobot {
LoginRobot(super.$);
Future<void> expectWelcomeViewVisible() => ensureViewVisible($(TwakeWelcomeView));
Future<void> grantNotificationPermission(NativeAutomator nativeAutomator) async {
if (await nativeAutomator.isPermissionDialogVisible(timeout: const Duration(seconds: 5))) {
await nativeAutomator.grantPermissionWhenInUse();
}
}
Future<void> tapOnUseCompanyServer() async {
await $.pumpAndSettle();
await $(AppLocalizations().useCompanyServer).tap();
}
Future<void> expectLoginViewVisible() => ensureViewVisible($(LoginView));
Future<void> enterEmail(String email) async {
final finder = $(LoginView).$(TextField);
await finder.enterText(email);
+30
View File
@@ -0,0 +1,30 @@
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import '../base/core_robot.dart';
class SearchRobot extends CoreRobot {
SearchRobot(super.$);
Future<void> enterQueryString(String queryString) async {
await $(#search_email_text_field).enterText(queryString);
}
Future<void> scrollToEndListSearchFilter() async {
await $.scrollUntilVisible(
finder: $(#mobile_sortBy_search_filter_button),
view: $(#search_filter_list_view),
scrollDirection: AxisDirection.right,
delta: 300,
);
}
Future<void> openSortOrderBottomDialog() async {
await $(#mobile_sortBy_search_filter_button).tap();
}
Future<void> selectSortOrder(String sortOrderName) async {
await $(find.text(sortOrderName)).tap();
await $.pump(const Duration(seconds: 2));
}
}
+4 -5
View File
@@ -1,18 +1,17 @@
import 'package:core/presentation/views/search/search_bar_view.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/widget/compose_floating_button.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_view.dart';
import 'package:tmail_ui_user/features/thread/presentation/thread_view.dart';
import '../base/core_robot.dart';
class ThreadRobot extends CoreRobot {
ThreadRobot(super.$);
Future<void> expectThreadViewVisible() => ensureViewVisible($(ThreadView));
Future<void> openComposer() async {
await $(ComposeFloatingButton).$(InkWell).tap();
}
Future<void> expectComposerViewVisible() => ensureViewVisible($(ComposerView));
Future<void> openSearchView() async {
await $(SearchBarView).$(InkWell).tap();
}
}