TF-3515 Add save email as template feature
This commit is contained in:
@@ -103,6 +103,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
when(mockCreateEmailRequest.templateMailboxId).thenReturn(null);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: emailContentWithBase64,
|
||||
@@ -160,6 +161,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
when(mockCreateEmailRequest.templateMailboxId).thenReturn(null);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: emailContentWithBase64,
|
||||
@@ -214,6 +216,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
when(mockCreateEmailRequest.templateMailboxId).thenReturn(null);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: plainEmailContent,
|
||||
|
||||
@@ -39,10 +39,11 @@ import 'package:tmail_ui_user/features/composer/presentation/controller/rich_tex
|
||||
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/setup_selected_identity_extension.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/formatting_options_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/saved_email_draft.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/saved_composing_email.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/screen_display_mode.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/print_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/save_template_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/transform_html_email_content_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||
@@ -160,6 +161,7 @@ class MockMailboxDashBoardController extends Mock implements MailboxDashBoardCon
|
||||
MockSpec<CreateNewAndSaveEmailToDraftsInteractor>(),
|
||||
MockSpec<PrintEmailInteractor>(),
|
||||
MockSpec<ComposerRepository>(),
|
||||
MockSpec<SaveTemplateEmailInteractor>(),
|
||||
|
||||
// Additional Getx dependencies mock specs
|
||||
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
||||
@@ -204,6 +206,7 @@ void main() {
|
||||
late MockCreateNewAndSaveEmailToDraftsInteractor mockCreateNewAndSaveEmailToDraftsInteractor;
|
||||
late MockPrintEmailInteractor mockPrintEmailInteractor;
|
||||
late MockComposerRepository mockComposerRepository;
|
||||
late MockSaveTemplateEmailInteractor mockSaveTemplateEmailInteractor;
|
||||
|
||||
// Declaration Getx dependencies
|
||||
final mockMailboxDashBoardController = MockMailboxDashBoardController();
|
||||
@@ -273,6 +276,7 @@ void main() {
|
||||
mockCreateNewAndSaveEmailToDraftsInteractor = MockCreateNewAndSaveEmailToDraftsInteractor();
|
||||
mockPrintEmailInteractor = MockPrintEmailInteractor();
|
||||
mockComposerRepository = MockComposerRepository();
|
||||
mockSaveTemplateEmailInteractor = MockSaveTemplateEmailInteractor();
|
||||
|
||||
composerController = ComposerController(
|
||||
mockLocalFilePickerInteractor,
|
||||
@@ -289,6 +293,7 @@ void main() {
|
||||
mockCreateNewAndSaveEmailToDraftsInteractor,
|
||||
mockPrintEmailInteractor,
|
||||
mockComposerRepository,
|
||||
mockSaveTemplateEmailInteractor,
|
||||
);
|
||||
|
||||
mockHtmlEditorApi = MockHtmlEditorApi();
|
||||
@@ -344,7 +349,7 @@ void main() {
|
||||
emailContent: anyNamed('emailContent'),
|
||||
)).thenAnswer((_) async => emailContent);
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
@@ -404,7 +409,7 @@ void main() {
|
||||
emailContent: anyNamed('emailContent'),
|
||||
)).thenAnswer((_) async => emailContent);
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
@@ -471,7 +476,7 @@ void main() {
|
||||
.thenAnswer((_) => Stream.value(
|
||||
Right(SaveEmailAsDraftsSuccess(EmailId(Id('123')), null))));
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
@@ -551,7 +556,7 @@ void main() {
|
||||
.thenAnswer((_) => Stream.value(
|
||||
Right(UpdateEmailDraftsSuccess(EmailId(Id('123'))))));
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
@@ -626,7 +631,7 @@ void main() {
|
||||
emailContent: anyNamed('emailContent'),
|
||||
)).thenAnswer((_) async => emailContent);
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
@@ -686,7 +691,7 @@ void main() {
|
||||
emailContent: anyNamed('emailContent'),
|
||||
)).thenAnswer((_) async => emailContent);
|
||||
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
content: emailContent,
|
||||
subject: emailSubject,
|
||||
toRecipients: {toRecipient},
|
||||
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/email/attachment.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/saved_email_draft.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/saved_composing_email.dart';
|
||||
|
||||
void main() {
|
||||
group('saved email draft test', () {
|
||||
@@ -10,7 +10,7 @@ void main() {
|
||||
'should tag toRecipients, ccRecipients and bccRecipients in props',
|
||||
() {
|
||||
// arrange
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
subject: 'subject',
|
||||
content: 'content',
|
||||
toRecipients: {EmailAddress('to name', 'to email')},
|
||||
@@ -43,7 +43,7 @@ void main() {
|
||||
final attachments = <Attachment>[];
|
||||
const hasReadReceipt = false;
|
||||
|
||||
final toSavedEmailDraft = SavedEmailDraft(
|
||||
final toSavedEmailDraft = SavedComposingEmail(
|
||||
subject: subject,
|
||||
content: content,
|
||||
toRecipients: {recipient},
|
||||
@@ -55,7 +55,7 @@ void main() {
|
||||
hasReadReceipt: hasReadReceipt
|
||||
);
|
||||
|
||||
final ccSavedEmailDraft = SavedEmailDraft(
|
||||
final ccSavedEmailDraft = SavedComposingEmail(
|
||||
subject: subject,
|
||||
content: content,
|
||||
toRecipients: {},
|
||||
@@ -67,7 +67,7 @@ void main() {
|
||||
hasReadReceipt: hasReadReceipt
|
||||
);
|
||||
|
||||
final bccSavedEmailDraft = SavedEmailDraft(
|
||||
final bccSavedEmailDraft = SavedComposingEmail(
|
||||
subject: subject,
|
||||
content: content,
|
||||
toRecipients: {},
|
||||
@@ -79,7 +79,7 @@ void main() {
|
||||
hasReadReceipt: hasReadReceipt
|
||||
);
|
||||
|
||||
final replyToSavedEmailDraft = SavedEmailDraft(
|
||||
final replyToSavedEmailDraft = SavedComposingEmail(
|
||||
subject: subject,
|
||||
content: content,
|
||||
toRecipients: {},
|
||||
@@ -112,7 +112,7 @@ void main() {
|
||||
final listToRecipients = {
|
||||
EmailAddress('to name', 'to email')
|
||||
};
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
subject: 'subject',
|
||||
content: 'content',
|
||||
toRecipients: listToRecipients,
|
||||
@@ -138,7 +138,7 @@ void main() {
|
||||
'when all properties are the same',
|
||||
() {
|
||||
// arrange
|
||||
final savedEmailDraft = SavedEmailDraft(
|
||||
final savedEmailDraft = SavedComposingEmail(
|
||||
subject: 'subject',
|
||||
content: 'content',
|
||||
toRecipients: {EmailAddress('to name', 'to email')},
|
||||
@@ -150,7 +150,7 @@ void main() {
|
||||
hasReadReceipt: false
|
||||
);
|
||||
|
||||
final savedEmailDraft2 = SavedEmailDraft(
|
||||
final savedEmailDraft2 = SavedComposingEmail(
|
||||
subject: 'subject',
|
||||
content: 'content',
|
||||
toRecipients: {EmailAddress('to name', 'to email')},
|
||||
|
||||
Reference in New Issue
Block a user