TF-3416 Implement preview EML attachment

This commit is contained in:
dab246
2025-01-13 10:02:50 +07:00
committed by Dat H. Pham
parent 7cbdfddb6d
commit d304083b2e
54 changed files with 1489 additions and 148 deletions
@@ -47,7 +47,7 @@ void main() {
result,
emitsInOrder([
Right<Failure, Success>(ParsingEmailByBlobId()),
Right<Failure, Success>(ParseEmailByBlobIdSuccess(parsedEmail)),
Right<Failure, Success>(ParseEmailByBlobIdSuccess(parsedEmail, blobId)),
]),
);
@@ -39,6 +39,8 @@ import 'package:tmail_ui_user/features/email/domain/usecases/mark_as_email_read_
import 'package:tmail_ui_user/features/email/domain/usecases/mark_as_star_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/move_to_mailbox_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/parse_email_by_blob_id_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/preview_email_from_eml_file_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/print_email_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/store_event_attendance_status_interactor.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/store_opened_email_interactor.dart';
@@ -98,6 +100,8 @@ const fallbackGenerators = {
MockSpec<MaybeCalendarEventInteractor>(),
MockSpec<RejectCalendarEventInteractor>(),
MockSpec<StoreEventAttendanceStatusInteractor>(),
MockSpec<ParseEmailByBlobIdInteractor>(),
MockSpec<PreviewEmailFromEmlFileInteractor>(),
MockSpec<PrintUtils>(),
MockSpec<ApplicationManager>(),
MockSpec<ToastManager>(),
@@ -134,6 +138,8 @@ void main() {
final uuid = MockUuid();
final printEmailInteractor = MockPrintEmailInteractor();
final storeEventAttendanceStatusInteractor = MockStoreEventAttendanceStatusInteractor();
final parseEmailByBlobIdInteractor = MockParseEmailByBlobIdInteractor();
final previewEmailFromEmlFileInteractor = MockPreviewEmailFromEmlFileInteractor();
final printUtils = MockPrintUtils();
final applicationManager = MockApplicationManager();
final mockToastManager = MockToastManager();
@@ -191,6 +197,8 @@ void main() {
storeOpenedEmailInteractor,
printEmailInteractor,
storeEventAttendanceStatusInteractor,
parseEmailByBlobIdInteractor,
previewEmailFromEmlFileInteractor,
);
});
@@ -1,7 +1,7 @@
import 'package:core/core.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:http_parser/http_parser.dart';
import 'package:model/email/attachment.dart';
import 'package:tmail_ui_user/features/upload/domain/extensions/media_type_extension.dart';
void main() {
final attachmentA = Attachment(
@@ -34,7 +34,7 @@ void main() {
'WHEN perform call `attachmentA.isDisplayedPDFIcon()`\n'
'SHOULD return true',
() {
bool result = attachmentA.type!.validatePDFIcon(fileName: null);
bool result = attachmentA.type!.isPDFFile(fileName: null);
expect(result, isTrue);
});
@@ -45,7 +45,7 @@ void main() {
'WHEN perform call `attachmentB.isDisplayedPDFIcon()`\n'
'SHOULD return true',
() {
bool result = attachmentB.type!.validatePDFIcon(fileName: 'attachmentB.pdf');
bool result = attachmentB.type!.isPDFFile(fileName: 'attachmentB.pdf');
expect(result, isTrue);
});
@@ -56,7 +56,7 @@ void main() {
'WHEN perform call `attachmentC.isDisplayedPDFIcon()`\n'
'SHOULD return false',
() {
bool result = attachmentC.type!.validatePDFIcon(fileName: 'attachmentC.docx');
bool result = attachmentC.type!.isPDFFile(fileName: 'attachmentC.docx');
expect(result, isFalse);
});
@@ -67,7 +67,7 @@ void main() {
'WHEN perform call `attachmentD.isDisplayedPDFIcon()`\n'
'SHOULD return false',
() {
bool result = attachmentD.type!.validatePDFIcon(fileName: 'attachmentD.png');
bool result = attachmentD.type!.isPDFFile(fileName: 'attachmentD.png');
expect(result, isFalse);
});
@@ -78,7 +78,7 @@ void main() {
'WHEN perform call `attachmentE.isDisplayedPDFIcon()`\n'
'SHOULD return false',
() {
bool result = attachmentE.type!.validatePDFIcon(fileName: 'attachmentE.pdf');
bool result = attachmentE.type!.isPDFFile(fileName: 'attachmentE.pdf');
expect(result, isFalse);
});