TF-3514 Add unit test for getMediaTypeFromBase64ImageTag method
Signed-off-by: dab246 <tdvu@linagora.com> Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -283,4 +283,51 @@ void main() {
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
group('StringConvert::getMediaTypeFromBase64ImageTag::', () {
|
||||
test('should return correct MediaType for valid JPEG base64 tag', () {
|
||||
const validJpegTag = 'data:image/jpeg;base64,/9j/4AAQSkZJRg==';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(validJpegTag);
|
||||
expect(result, isNotNull);
|
||||
expect(result!.type, 'image');
|
||||
expect(result.subtype, 'jpeg');
|
||||
});
|
||||
|
||||
test('should return correct MediaType for valid PNG base64 tag', () {
|
||||
const validPngTag = 'data:image/png;base64,iVBORw0KGgo===';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(validPngTag);
|
||||
expect(result, isNotNull);
|
||||
expect(result!.type, 'image');
|
||||
expect(result.subtype, 'png');
|
||||
});
|
||||
|
||||
test('should return null for string not starting with "data:"', () {
|
||||
const invalidTag = 'image/jpeg;base64,/9j/4AAQSkZJRg==';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(invalidTag);
|
||||
expect(result, isNull);
|
||||
});
|
||||
|
||||
test('should return null for string without ";base64,"', () {
|
||||
const invalidTag = 'data:image/jpeg,/9j/4AAQSkZJRg==';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(invalidTag);
|
||||
expect(result, isNull);
|
||||
});
|
||||
|
||||
test('should return null for invalid format', () {
|
||||
const invalidTag = 'data:invalid;base64,data';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(invalidTag);
|
||||
expect(result, isNull);
|
||||
});
|
||||
|
||||
test('should return null for empty string', () {
|
||||
const emptyTag = '';
|
||||
final result = StringConvert.getMediaTypeFromBase64ImageTag(emptyTag);
|
||||
expect(result, isNull);
|
||||
});
|
||||
|
||||
test('should handle null input gracefully', () {
|
||||
const String? nullTag = null;
|
||||
expect(() => StringConvert.getMediaTypeFromBase64ImageTag(nullTag!), throwsA(isA<TypeError>()));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -428,6 +428,9 @@ class UploadController extends BaseController {
|
||||
}
|
||||
|
||||
List<Attachment> get inlineAttachmentsUploaded {
|
||||
if (_uploadingStateInlineFiles.uploadingStateFiles.isEmpty) {
|
||||
return [];
|
||||
}
|
||||
return _uploadingStateInlineFiles.uploadingStateFiles.fold<List<Attachment>>(
|
||||
[],
|
||||
(list, fileState) {
|
||||
@@ -441,6 +444,9 @@ class UploadController extends BaseController {
|
||||
}
|
||||
|
||||
List<FileInfo> get inlineAttachmentsPicked {
|
||||
if (_uploadingStateInlineFiles.uploadingStateFiles.isEmpty) {
|
||||
return [];
|
||||
}
|
||||
return _uploadingStateInlineFiles.uploadingStateFiles.fold<List<FileInfo>>(
|
||||
[],
|
||||
(list, fileState) {
|
||||
@@ -454,6 +460,9 @@ class UploadController extends BaseController {
|
||||
}
|
||||
|
||||
Map<String, Attachment> get mapInlineAttachments {
|
||||
if (_uploadingStateInlineFiles.uploadingStateFiles.isEmpty) {
|
||||
return {};
|
||||
}
|
||||
final mapInlineAttachments = _uploadingStateInlineFiles.uploadingStateFiles.fold<Map<String, Attachment>>(
|
||||
{},
|
||||
(map, fileState) {
|
||||
|
||||
@@ -102,6 +102,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.outboxMailboxId).thenReturn(null);
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: emailContentWithBase64,
|
||||
@@ -158,6 +159,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.outboxMailboxId).thenReturn(null);
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: emailContentWithBase64,
|
||||
@@ -211,6 +213,7 @@ void main() {
|
||||
when(mockCreateEmailRequest.outboxMailboxId).thenReturn(null);
|
||||
when(mockCreateEmailRequest.emailActionType).thenReturn(EmailActionType.compose);
|
||||
when(mockCreateEmailRequest.hasRequestReadReceipt).thenReturn(false);
|
||||
when(mockCreateEmailRequest.isMarkAsImportant).thenReturn(false);
|
||||
|
||||
when(mockHtmlDataSource.replaceImageBase64ToImageCID(
|
||||
emailContent: plainEmailContent,
|
||||
|
||||
Reference in New Issue
Block a user