TF-3786 Add Return-Path header when request read receipt (#3790)

This commit is contained in:
Dat Dang
2025-06-13 09:46:51 +07:00
committed by GitHub
parent 991b9e22e8
commit 6d08b8d16a
12 changed files with 50 additions and 8 deletions
+1 -1
View File
@@ -669,7 +669,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
@@ -171,6 +171,9 @@ extension CreateEmailRequestExtension on CreateEmailRequest {
headerMdn: hasRequestReadReceipt
? { IndividualHeaderIdentifier.headerMdn: createMdnEmailAddress() }
: null,
headerReturnPath: hasRequestReadReceipt
? { IndividualHeaderIdentifier.headerReturnPath: createMdnEmailAddress() }
: null,
identityHeader: withIdentityHeader
? {IndividualHeaderIdentifier.identityHeader: identity?.id?.id.value}
: null,
@@ -33,6 +33,7 @@ class SearchEmail extends Email {
super.bodyValues,
super.headerUserAgent,
super.headerMdn,
super.headerReturnPath,
super.headerCalendarEvent,
super.xPriorityHeader,
super.importanceHeader,
@@ -84,6 +85,7 @@ class SearchEmail extends Email {
bodyValues: email.bodyValues,
headerUserAgent: email.headerUserAgent,
headerMdn: email.headerMdn,
headerReturnPath: email.headerReturnPath,
headerCalendarEvent: email.headerCalendarEvent,
xPriorityHeader: email.xPriorityHeader,
importanceHeader: email.importanceHeader,
@@ -231,6 +231,7 @@ extension EmailExtension on Email {
Map<PartId, EmailBodyValue>? bodyValues,
Map<IndividualHeaderIdentifier, String?>? headerUserAgent,
Map<IndividualHeaderIdentifier, String?>? headerMdn,
Map<IndividualHeaderIdentifier, String?>? headerReturnPath,
Map<IndividualHeaderIdentifier, String?>? headerCalendarEvent,
Map<IndividualHeaderIdentifier, String?>? sMimeStatusHeader,
Map<IndividualHeaderIdentifier, String?>? identityHeader,
@@ -267,6 +268,7 @@ extension EmailExtension on Email {
bodyValues: bodyValues ?? this.bodyValues,
headerUserAgent: headerUserAgent ?? this.headerUserAgent,
headerMdn: headerMdn ?? this.headerMdn,
headerReturnPath: headerReturnPath ?? this.headerReturnPath,
headerCalendarEvent: headerCalendarEvent ?? this.headerCalendarEvent,
sMimeStatusHeader: sMimeStatusHeader ?? this.sMimeStatusHeader,
identityHeader: identityHeader ?? this.identityHeader,
+1 -1
View File
@@ -661,7 +661,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -1342,7 +1342,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -296,7 +296,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
+1 -1
View File
@@ -288,7 +288,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: d24ee7f6fe8a4917ffb658b0d295268b9ccced38
resolved-ref: "446efbbccdde981371b4d2a636762184adf6e926"
url: "https://github.com/linagora/jmap-dart-client.git"
source: git
version: "0.3.6"
@@ -56,5 +56,40 @@ void main() {
// assert
expect(result.identityHeader, isNull);
});
test(
'should return email with mdn and return path headers '
'when generateEmail is called '
'and hasRequestReadReceipt is true',
() {
// arrange
final createEmailRequest = CreateEmailRequest(
session: SessionFixtures.aliceSession,
accountId: AccountFixtures.aliceAccountId,
emailActionType: EmailActionType.editDraft,
subject: 'subject',
emailContent: 'emailContent',
hasRequestReadReceipt: true,
);
// act
final result = createEmailRequest.generateEmail(
newEmailContent: 'newEmailContent',
newEmailAttachments: {},
userAgent: 'userAgent',
partId: PartId('value'),
withIdentityHeader: false
);
// assert
expect(
result.headerMdn?[IndividualHeaderIdentifier.headerMdn],
createEmailRequest.createMdnEmailAddress(),
);
expect(
result.headerReturnPath?[IndividualHeaderIdentifier.headerReturnPath],
createEmailRequest.createMdnEmailAddress(),
);
});
});
}