TF-3290 Only show reconnection confirm dialog when composer is opened

This commit is contained in:
dab246
2024-12-12 15:51:03 +07:00
committed by Dat H. Pham
parent 6e59633bf6
commit b83e092e47
19 changed files with 141 additions and 50 deletions
@@ -26,6 +26,7 @@ import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../fixtures/account_fixtures.dart';
@@ -70,6 +71,7 @@ class SomeOtherException extends RemoteException {}
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
])
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
@@ -88,6 +90,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
mockCachingManager = MockCachingManager();
@@ -103,6 +106,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -121,6 +125,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
Get.testMode = true;
mockBaseController = MockBaseController();
@@ -68,6 +68,7 @@ import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../fixtures/account_fixtures.dart';
@@ -143,6 +144,7 @@ class MockMailboxDashBoardController extends Mock implements MailboxDashBoardCon
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Composer controller mock specs
MockSpec<LocalFilePickerInteractor>(),
@@ -184,6 +186,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
// Declaration composer controller
late ComposerController? composerController;
@@ -226,6 +229,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -244,6 +248,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
// Mock Getx controllers
Get.put<MailboxDashBoardController>(mockMailboxDashBoardController);
@@ -59,6 +59,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../../fixtures/account_fixtures.dart';
@@ -109,6 +110,7 @@ const fallbackGenerators = {
MockSpec<CalendarEventDataSource>(),
MockSpec<DioClient>(),
MockSpec<GetHtmlContentFromAttachmentInteractor>(),
MockSpec<TwakeAppManager>(),
])
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
@@ -146,6 +148,7 @@ void main() {
final applicationManager = MockApplicationManager();
final mockToastManager = MockToastManager();
final getHtmlContentFromAttachmentInteractor = MockGetHtmlContentFromAttachmentInteractor();
final mockTwakeAppManager = MockTwakeAppManager();
late SingleEmailController singleEmailController;
@@ -181,6 +184,7 @@ void main() {
Get.put<PrintUtils>(printUtils);
Get.put<ApplicationManager>(applicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
when(mailboxDashboardController.accountId).thenReturn(Rxn(testAccountId));
when(uuid.v4()).thenReturn(testTaskId);
@@ -29,6 +29,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import 'home_controller_test.mocks.dart';
@@ -55,6 +56,7 @@ import 'home_controller_test.mocks.dart';
MockSpec<LanguageCacheManager>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
])
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
@@ -83,6 +85,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
cleanupEmailCacheInteractor = MockCleanupEmailCacheInteractor();
@@ -110,6 +113,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<GetSessionInteractor>(mockGetSessionInteractor);
Get.put<GetAuthenticatedAccountInteractor>(mockGetAuthenticatedAccountInteractor);
@@ -132,6 +136,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
Get.testMode = true;
homeController = HomeController(
@@ -49,6 +49,7 @@ import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
import 'package:tmail_ui_user/main/universal_import/html_stub.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import 'package:worker_manager/worker_manager.dart';
@@ -69,6 +70,7 @@ import 'identity_creator_controller_test.mocks.dart';
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Identity creator controller mockspecs
MockSpec<VerifyNameInteractor>(),
MockSpec<GetAllIdentitiesInteractor>(),
@@ -113,6 +115,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
//mock base controller
@@ -129,6 +132,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -147,6 +151,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
//mock identity creator controller
mockVerifyNameInteractor = MockVerifyNameInteractor();
@@ -36,6 +36,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/features/starting_page/domain/usecase/sign_in_twake_workplace_interactor.dart';
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import 'login_controller_test.mocks.dart';
@@ -71,6 +72,7 @@ import 'login_controller_test.mocks.dart';
MockSpec<LanguageCacheManager>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
])
void main() {
late MockAuthenticationInteractor mockAuthenticationInteractor;
@@ -103,6 +105,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
late LoginController loginController;
@@ -142,6 +145,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<GetSessionInteractor>(mockGetSessionInteractor);
Get.put<GetAuthenticatedAccountInteractor>(mockGetAuthenticatedAccountInteractor);
@@ -163,6 +167,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
Get.testMode = true;
loginController = LoginController(
@@ -32,6 +32,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import 'advanced_filter_controller_test.mocks.dart';
@@ -57,6 +58,7 @@ const fallbackGenerators = {
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Advanced filter controller mock specs
MockSpec<MailboxDashBoardController>(fallbackGenerators: fallbackGenerators),
MockSpec<GetAutoCompleteInteractor>(),
@@ -93,6 +95,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
Get.testMode = true;
@@ -110,6 +113,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -128,6 +132,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
// Mock search controller
mockQuickSearchEmailInteractor = MockQuickSearchEmailInteractor();
@@ -93,6 +93,7 @@ import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'
if (dart.library.html) 'package:tmail_ui_user/features/network_connection/presentation/web_network_connection_controller.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import 'mailbox_dashboard_controller_test.mocks.dart';
@@ -170,6 +171,7 @@ const fallbackGenerators = {
MockSpec<RemoveComposerCacheOnWebInteractor>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
MockSpec<GetAllIdentitiesInteractor>(),
MockSpec<GetIdentityCacheOnWebInteractor>(),
])
@@ -235,6 +237,7 @@ void main() {
final uuid = MockUuid();
final applicationManager = MockApplicationManager();
final mockToastManager = MockToastManager();
final mockTwakeAppManager = MockTwakeAppManager();
// mock reloadable controller Get dependencies
final getSessionInteractor = MockGetSessionInteractor();
@@ -300,6 +303,7 @@ void main() {
Get.put<Uuid>(uuid);
Get.put<ApplicationManager>(applicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
Get.put<GetSessionInteractor>(getSessionInteractor);
Get.put<GetAuthenticatedAccountInteractor>(getAuthenticatedAccountInteractor);
Get.put<UpdateAccountCacheInteractor>(updateAccountCacheInteractor);
@@ -94,6 +94,7 @@ import 'package:tmail_ui_user/main/localizations/app_localizations_delegate.dart
import 'package:tmail_ui_user/main/localizations/localization_service.dart';
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../../fixtures/account_fixtures.dart';
@@ -175,6 +176,7 @@ const fallbackGenerators = {
MockSpec<GetAllIdentitiesInteractor>(),
MockSpec<GetQuotasInteractor>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
MockSpec<GetIdentityCacheOnWebInteractor>(),
])
void main() {
@@ -222,6 +224,7 @@ void main() {
final deleteAuthorityOidcInteractor = MockDeleteAuthorityOidcInteractor();
final appToast = MockAppToast();
final toastManager = MockToastManager();
final mockTwakeAppManager = MockTwakeAppManager();
final imagePaths = ImagePaths();
final responsiveUtils = MockResponsiveUtils();
final uuid = MockUuid();
@@ -296,6 +299,7 @@ void main() {
Get.put<DeleteAuthorityOidcInteractor>(deleteAuthorityOidcInteractor);
Get.put<AppToast>(appToast);
Get.put<ToastManager>(toastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
Get.put<ImagePaths>(imagePaths);
Get.put<ResponsiveUtils>(responsiveUtils);
Get.put<Uuid>(uuid);
@@ -39,6 +39,7 @@ import 'package:tmail_ui_user/features/public_asset/domain/usecase/remove_identi
import 'package:tmail_ui_user/features/public_asset/presentation/clean_up_public_assets_interactor_bindings.dart';
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../../../fixtures/session_fixtures.dart';
@@ -65,6 +66,7 @@ const fallbackGenerators = {
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Reloadable controller mockspecs
MockSpec<GetSessionInteractor>(),
@@ -109,6 +111,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
late MockSaveIdentityCacheOnWebInteractor mockSaveIdentityCacheOnWebInteractor;
@@ -127,6 +130,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
mockSaveIdentityCacheOnWebInteractor = MockSaveIdentityCacheOnWebInteractor();
@@ -147,6 +151,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
// mock reloadable controller
Get.put<GetSessionInteractor>(MockGetSessionInteractor());
@@ -48,6 +48,7 @@ import 'package:tmail_ui_user/features/rules_filter_creator/presentation/rules_f
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rule_filter_action_widget.dart';
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../fixtures/widget_fixtures.dart';
@@ -67,6 +68,7 @@ import 'rule_filter_creator_controller_test.mocks.dart';
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Rule filter creator controller mock specs
MockSpec<TreeBuilder>(),
MockSpec<VerifyNameInteractor>(),
@@ -95,6 +97,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
Get.testMode = true;
@@ -113,6 +116,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -131,6 +135,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
// Mock rule filter creator controller
mockTreeBuilder = MockTreeBuilder();
@@ -48,6 +48,7 @@ import 'package:tmail_ui_user/features/thread/presentation/model/search_status.d
import 'package:tmail_ui_user/features/thread/presentation/thread_controller.dart';
import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart';
import 'package:tmail_ui_user/main/utils/toast_manager.dart';
import 'package:tmail_ui_user/main/utils/twake_app_manager.dart';
import 'package:uuid/uuid.dart';
import '../../../../fixtures/account_fixtures.dart';
@@ -75,6 +76,7 @@ const fallbackGenerators = {
MockSpec<Uuid>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
MockSpec<TwakeAppManager>(),
// Thread controller mock specs
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
MockSpec<SearchController>(fallbackGenerators: fallbackGenerators),
@@ -115,6 +117,7 @@ void main() {
late MockUuid mockUuid;
late MockApplicationManager mockApplicationManager;
late MockToastManager mockToastManager;
late MockTwakeAppManager mockTwakeAppManager;
setUpAll(() {
Get.testMode = true;
@@ -132,6 +135,7 @@ void main() {
mockUuid = MockUuid();
mockApplicationManager = MockApplicationManager();
mockToastManager = MockToastManager();
mockTwakeAppManager = MockTwakeAppManager();
Get.put<CachingManager>(mockCachingManager);
Get.put<LanguageCacheManager>(mockLanguageCacheManager);
@@ -150,6 +154,7 @@ void main() {
Get.put<Uuid>(mockUuid);
Get.put<ApplicationManager>(mockApplicationManager);
Get.put<ToastManager>(mockToastManager);
Get.put<TwakeAppManager>(mockTwakeAppManager);
// Mock thread controller
mockNetworkConnectionController = MockNetworkConnectionController();