TF-4053 Verify empty widget in Inbox when perform E2E for move folder content

This commit is contained in:
dab246
2025-11-04 12:12:55 +07:00
committed by Dat H. Pham
parent a5cc102d0e
commit b34b4455cd
2 changed files with 8 additions and 15 deletions
@@ -1,7 +1,4 @@
import 'package:flutter_test/flutter_test.dart'; import 'package:flutter_test/flutter_test.dart';
import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/trailing_mailbox_item_widget.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import '../../base/base_test_scenario.dart'; import '../../base/base_test_scenario.dart';
@@ -32,10 +29,10 @@ class MoveFolderContentScenario extends BaseTestScenario {
await provisionEmail(listEmails); await provisionEmail(listEmails);
await $.pumpAndTrySettle(duration: const Duration(seconds: 2)); await $.pumpAndTrySettle(duration: const Duration(seconds: 2));
await _expectEmptyViewInVisibleInInboxFolder();
await threadRobot.openMailbox(); await threadRobot.openMailbox();
await $.pumpAndTrySettle(); await $.pumpAndTrySettle();
_expectInboxUnreadCountVisible();
await mailboxMenuRobot.longPressMailboxWithName( await mailboxMenuRobot.longPressMailboxWithName(
appLocalizations.inboxMailboxDisplayName, appLocalizations.inboxMailboxDisplayName,
@@ -60,6 +57,7 @@ class MoveFolderContentScenario extends BaseTestScenario {
); );
await $.pumpAndTrySettle(); await $.pumpAndTrySettle();
await _expectEmailWithSubjectInVisible(emailSubject); await _expectEmailWithSubjectInVisible(emailSubject);
await _expectEmptyViewVisibleInInboxFolder();
} }
Future<void> _expectEmailWithSubjectVisible(String subject) async { Future<void> _expectEmailWithSubjectVisible(String subject) async {
@@ -70,14 +68,11 @@ class MoveFolderContentScenario extends BaseTestScenario {
await expectViewInvisible($(subject)); await expectViewInvisible($(subject));
} }
void _expectInboxUnreadCountVisible() { Future<void> _expectEmptyViewVisibleInInboxFolder() async {
expect( await expectViewVisible($(#empty_thread_view));
$(TrailingMailboxItemWidget).which<TrailingMailboxItemWidget>((widget) { }
final mailbox = widget.mailboxNode.item;
return mailbox.role == PresentationMailbox.roleInbox && Future<void> _expectEmptyViewInVisibleInInboxFolder() async {
mailbox.countUnreadEmails > 0; await expectViewInvisible($(#empty_thread_view));
}),
findsOneWidget,
);
} }
} }
@@ -52,8 +52,6 @@ import 'package:model/extensions/keyword_identifier_extension.dart';
import 'package:model/extensions/list_email_id_extension.dart'; import 'package:model/extensions/list_email_id_extension.dart';
import 'package:model/extensions/list_id_extension.dart'; import 'package:model/extensions/list_id_extension.dart';
import 'package:model/extensions/mailbox_id_extension.dart'; import 'package:model/extensions/mailbox_id_extension.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:model/oidc/token_oidc.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:tmail_ui_user/features/base/mixin/handle_error_mixin.dart'; import 'package:tmail_ui_user/features/base/mixin/handle_error_mixin.dart';
import 'package:tmail_ui_user/features/base/mixin/mail_api_mixin.dart'; import 'package:tmail_ui_user/features/base/mixin/mail_api_mixin.dart';