TF-2528 Add integration test for search email with sort by sender nam…e ascending
This commit is contained in:
@@ -9,8 +9,15 @@ import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
mixin PopupContextMenuActionMixin {
|
||||
|
||||
void openContextMenuAction(BuildContext context, List<Widget> actionTiles, {Widget? cancelButton}) async {
|
||||
await (CupertinoActionSheetBuilder(context)
|
||||
void openContextMenuAction(
|
||||
BuildContext context,
|
||||
List<Widget> actionTiles,
|
||||
{
|
||||
Widget? cancelButton,
|
||||
Key? key,
|
||||
}
|
||||
) async {
|
||||
await (CupertinoActionSheetBuilder(context, key: key)
|
||||
..addTiles(actionTiles)
|
||||
..addCancelButton(cancelButton ?? buildCancelButton(context)))
|
||||
.show();
|
||||
|
||||
@@ -955,12 +955,15 @@ class ComposerController extends BaseController
|
||||
}
|
||||
|
||||
Future<String> _getContentInEditor() async {
|
||||
final htmlTextEditor = PlatformInfo.isWeb
|
||||
? _textEditorWeb
|
||||
: await htmlEditorApi?.getText();
|
||||
if (htmlTextEditor?.isNotEmpty == true) {
|
||||
return htmlTextEditor!.removeEditorStartTag();
|
||||
} else {
|
||||
try {
|
||||
final htmlTextEditor = PlatformInfo.isWeb
|
||||
? _textEditorWeb
|
||||
: await htmlEditorApi?.getText();
|
||||
return htmlTextEditor?.isNotEmpty == true
|
||||
? htmlTextEditor!.removeEditorStartTag()
|
||||
: '';
|
||||
} catch (e) {
|
||||
logError('ComposerController::_getContentInEditor:Exception = $e');
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
+11
-7
@@ -15,21 +15,25 @@ enum EmailSortOrderType {
|
||||
subjectDescending;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
return getTitleByAppLocalizations(AppLocalizations.of(context));
|
||||
}
|
||||
|
||||
String getTitleByAppLocalizations(AppLocalizations appLocalizations) {
|
||||
switch (this) {
|
||||
case EmailSortOrderType.mostRecent:
|
||||
return AppLocalizations.of(context).mostRecent;
|
||||
return appLocalizations.mostRecent;
|
||||
case EmailSortOrderType.oldest:
|
||||
return AppLocalizations.of(context).oldest;
|
||||
return appLocalizations.oldest;
|
||||
case EmailSortOrderType.relevance:
|
||||
return AppLocalizations.of(context).relevance;
|
||||
return appLocalizations.relevance;
|
||||
case EmailSortOrderType.senderAscending:
|
||||
return AppLocalizations.of(context).senderAscending;
|
||||
return appLocalizations.senderAscending;
|
||||
case EmailSortOrderType.senderDescending:
|
||||
return AppLocalizations.of(context).senderDescending;
|
||||
return appLocalizations.senderDescending;
|
||||
case EmailSortOrderType.subjectAscending:
|
||||
return AppLocalizations.of(context).subjectAscending;
|
||||
return appLocalizations.subjectAscending;
|
||||
case EmailSortOrderType.subjectDescending:
|
||||
return AppLocalizations.of(context).subjectDescending;
|
||||
return appLocalizations.subjectDescending;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -137,6 +137,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
onTap: () => controller.closeSearchView(context: context)
|
||||
),
|
||||
Expanded(child: TextFieldBuilder(
|
||||
key: const Key('search_email_text_field'),
|
||||
onTextChange: controller.onTextSearchChange,
|
||||
textInputAction: TextInputAction.search,
|
||||
controller: controller.textInputSearchController,
|
||||
@@ -190,6 +191,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
),
|
||||
scrollController: controller.listSearchFilterScrollController,
|
||||
child: ListView(
|
||||
key: const Key('search_filter_list_view'),
|
||||
scrollDirection: Axis.horizontal,
|
||||
shrinkWrap: true,
|
||||
controller: controller.listSearchFilterScrollController,
|
||||
@@ -375,7 +377,8 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
context,
|
||||
controller.emailSortOrderType.value,
|
||||
controller.selectSortOrderQuickSearchFilter
|
||||
)
|
||||
),
|
||||
key: const Key('sort_filter_context_menu')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -562,6 +565,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
List<PresentationEmail> listSuggestionSearch
|
||||
) {
|
||||
return ListView.builder(
|
||||
key: const Key('suggestion_search_list_view'),
|
||||
shrinkWrap: true,
|
||||
primary: false,
|
||||
itemCount: listSuggestionSearch.length,
|
||||
@@ -618,6 +622,7 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
|
||||
Widget _buildListEmailBody(BuildContext context, List<PresentationEmail> listPresentationEmail) {
|
||||
return NotificationListener<ScrollNotification>(
|
||||
key: const Key('search_email_list_notification_listener'),
|
||||
onNotification: (ScrollNotification scrollInfo) {
|
||||
if (scrollInfo is ScrollEndNotification
|
||||
&& controller.searchMoreState != SearchMoreState.waiting
|
||||
|
||||
Reference in New Issue
Block a user