feat: Re-use AddLabelToEmailMixin for logic add label to email in EmailView

This commit is contained in:
dab246
2026-02-05 13:03:18 +07:00
committed by Dat H. Pham
parent f4ae94d47b
commit 432c482155
14 changed files with 443 additions and 263 deletions
@@ -20,6 +20,7 @@ import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';
import 'package:model/email/presentation_email.dart';
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
import 'package:tmail_ui_user/features/download/presentation/controllers/download_controller.dart';
import 'package:tmail_ui_user/features/email/data/datasource/calendar_event_datasource.dart';
import 'package:tmail_ui_user/features/email/data/datasource_impl/html_datasource_impl.dart';
import 'package:tmail_ui_user/features/email/data/local/html_analyzer.dart';
@@ -27,7 +28,6 @@ import 'package:tmail_ui_user/features/email/data/repository/calendar_event_repo
import 'package:tmail_ui_user/features/email/domain/model/event_action.dart';
import 'package:tmail_ui_user/features/email/domain/state/get_email_content_state.dart';
import 'package:tmail_ui_user/features/email/domain/state/parse_calendar_event_state.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/add_a_label_to_an_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/calendar_event_accept_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/calendar_event_reject_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
@@ -36,7 +36,6 @@ import 'package:tmail_ui_user/features/email/domain/usecases/mark_as_star_email_
import 'package:tmail_ui_user/features/email/domain/usecases/maybe_calendar_event_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/parse_calendar_event_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/print_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/remove_a_label_from_an_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_interactor.dart';
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
import 'package:tmail_ui_user/features/email/presentation/controller/single_email_controller.dart';
@@ -45,7 +44,6 @@ import 'package:tmail_ui_user/features/login/data/network/interceptors/authoriza
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/download_ui_action.dart';
import 'package:tmail_ui_user/features/download/presentation/controllers/download_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_manager.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
@@ -75,8 +73,6 @@ const fallbackGenerators = {
MockSpec<MarkAsStarEmailInteractor>(),
MockSpec<GetAllIdentitiesInteractor>(),
MockSpec<StoreOpenedEmailInteractor>(),
MockSpec<AddALabelToAnEmailInteractor>(),
MockSpec<RemoveALabelFromAnEmailInteractor>(),
MockSpec<MailboxDashBoardController>(fallbackGenerators: fallbackGenerators),
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
MockSpec<DownloadManager>(fallbackGenerators: fallbackGenerators),
@@ -110,8 +106,6 @@ void main() {
final markAsStarEmailInteractor = MockMarkAsStarEmailInteractor();
final getAllIdentitiesInteractor = MockGetAllIdentitiesInteractor();
final storeOpenedEmailInteractor = MockStoreOpenedEmailInteractor();
final addALabelToAnEmailInteractor = MockAddALabelToAnEmailInteractor();
final removeALabelFromAnEmailInteractor = MockRemoveALabelFromAnEmailInteractor();
final mailboxDashboardController = MockMailboxDashBoardController();
final downloadController = MockDownloadController();
final downloadManager = MockDownloadManager();
@@ -177,8 +171,6 @@ void main() {
markAsStarEmailInteractor,
getAllIdentitiesInteractor,
storeOpenedEmailInteractor,
addALabelToAnEmailInteractor,
removeALabelFromAnEmailInteractor,
printEmailInteractor,
);
});