Add E2E test for test case display empty view for favorite folder

This commit is contained in:
dab246
2025-11-20 12:40:14 +07:00
committed by Dat H. Pham
parent 4663f1263f
commit 7e55f68ff3
2 changed files with 46 additions and 0 deletions
@@ -0,0 +1,37 @@
import 'package:flutter_test/flutter_test.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/main/localizations/app_localizations.dart';
import '../../base/base_test_scenario.dart';
import '../../robots/mailbox_menu_robot.dart';
import '../../robots/thread_robot.dart';
class DisplayEmptyViewForFavoriteFolderScenario extends BaseTestScenario {
const DisplayEmptyViewForFavoriteFolderScenario(super.$);
@override
Future<void> runTestLogic() async {
final threadRobot = ThreadRobot($);
final mailboxMenuRobot = MailboxMenuRobot($);
final appLocalizations = AppLocalizations();
await threadRobot.openMailbox();
await _expectFolderVisible(appLocalizations.favoriteMailboxDisplayName);
await mailboxMenuRobot.openFolderByName(
appLocalizations.favoriteMailboxDisplayName,
);
await $.pumpAndTrySettle();
await _expectEmptyViewVisible();
}
Future<void> _expectFolderVisible(String folderName) {
return expectViewVisible($(MailboxItemWidget)
.$(LabelMailboxItemWidget)
.$(find.text(folderName)));
}
Future<void> _expectEmptyViewVisible() =>
expectViewVisible($(#empty_thread_view));
}
@@ -0,0 +1,9 @@
import '../../base/test_base.dart';
import '../../scenarios/mailbox/display_empty_view_for_favorite_folder_scenario.dart';
void main() {
TestBase().runPatrolTest(
description: 'Should display empty view when no mail favorites',
scenarioBuilder: ($) => DisplayEmptyViewForFavoriteFolderScenario($),
);
}