@@ -5,21 +5,19 @@ interface
5
5
uses
6
6
Classes,
7
7
DUnitX.TestFramework,
8
+ AmazonEmailMessage,
8
9
BuildQueryParameters;
9
10
10
11
type
11
12
[TestFixture]
12
13
TBuildQueryParametersTests = class
13
14
strict private
14
- FRecipients: TArray<string>;
15
- FBuildQueryParameters: TBuildQueryParameters;
15
+ FEmailMessage: TEmailMessage;
16
16
private
17
17
procedure AddRecipient (const Address: string);
18
18
public
19
19
[Setup]
20
20
procedure SetUp ;
21
- [TearDown]
22
- procedure TearDown ;
23
21
published
24
22
procedure GetQueryParams_WithHTMLBody_EncodedParamsReturned ;
25
23
procedure GetQueryParams_WithTextBody_EncodedParamsReturned ;
@@ -35,8 +33,8 @@ implementation
35
33
36
34
procedure TBuildQueryParametersTests.AddRecipient (const Address: string);
37
35
begin
38
- SetLength(FRecipients , Length(FRecipients ) +1 );
39
- FRecipients [High(FRecipients )] := Address;
36
+ SetLength(FEmailMessage.Recipients , Length(FEmailMessage.Recipients ) +1 );
37
+ FEmailMessage.Recipients [High(FEmailMessage.Recipients )] := Address;
40
38
end ;
41
39
42
40
procedure TBuildQueryParametersTests.GetQueryParams_MutipleRecipients_RecipientsAdded ;
@@ -48,7 +46,7 @@ procedure TBuildQueryParametersTests.GetQueryParams_MutipleRecipients_Recipients
48
46
begin
49
47
AddRecipient(
' [email protected] ' );
50
48
51
- EncodedParams :=
FBuildQueryParameters .GetQueryParams(
FRecipients, ' ' , ' [email protected] ' , ' ' , ' ' );
49
+ EncodedParams := TBuildQueryParameters .GetQueryParams(FEmailMessage );
52
50
try
53
51
Assert.Contains(EncodedParams.DataString, ExpectedRecipients);
54
52
finally
@@ -58,11 +56,12 @@ procedure TBuildQueryParametersTests.GetQueryParams_MutipleRecipients_Recipients
58
56
59
57
procedure TBuildQueryParametersTests.GetQueryParams_FromNameSpecified_FromNameEncoded ;
60
58
const
61
- ExpectedSource = ' &Source=%3D%3Futf-8%3FB%3FW0FDTUVdIEpvaG4gRG9l%3F%3D%20%3Cemail%40email .com%3E' ;
59
+ ExpectedSource = ' &Source=%3D%3Futf-8%3FB%3FW0FDTUVdIEpvaG4gRG9l%3F%3D%20%3Cemail%40mail .com%3E' ;
62
60
var
63
61
EncodedParams: TStringStream;
64
62
begin
65
- EncodedParams := FBuildQueryParameters.GetQueryParams(FRecipients,
' [ACME] John Doe' ,
' [email protected] ' ,
' ' ,
' ' );
63
+ FEmailMessage.FromName := ' [ACME] John Doe' ;
64
+ EncodedParams := TBuildQueryParameters.GetQueryParams(FEmailMessage);
66
65
try
67
66
Assert.Contains(EncodedParams.DataString, ExpectedSource);
68
67
finally
@@ -85,12 +84,11 @@ procedure TBuildQueryParametersTests.GetQueryParams_WithHTMLBody_EncodedParamsRe
85
84
' ensure%20that%20the%20browser%20will%20display%20the%20text%20properly.%3C%2Fp%3E%3C%2' +
86
85
' Fbody%3E%3C%2Fhtml%3E' ;
87
86
var
88
- FromAddress, Subject, MessageBody: string;
89
87
EncodedParams: TStringStream;
90
88
begin
91
- FromAddress :=
' [email protected] ' ;
92
- Subject := ' This is the subject line with HTML.' ;
93
- MessageBody := ' <!DOCTYPE html>' +
89
+ FEmailMessage.BodyType := btHTML ;
90
+ FEmailMessage. Subject := ' This is the subject line with HTML.' ;
91
+ FEmailMessage.Body := ' <!DOCTYPE html>' +
94
92
' <html>' +
95
93
' <body>' +
96
94
' <p>' +
@@ -103,7 +101,7 @@ procedure TBuildQueryParametersTests.GetQueryParams_WithHTMLBody_EncodedParamsRe
103
101
' </body>' +
104
102
' </html>' ;
105
103
106
- EncodedParams := FBuildQueryParameters .GetQueryParams(FRecipients, ' ' , FromAddress, Subject, MessageBody );
104
+ EncodedParams := TBuildQueryParameters .GetQueryParams(FEmailMessage );
107
105
try
108
106
Assert.AreEqual(EXPECTED_RETURN, EncodedParams.DataString);
109
107
finally
@@ -117,11 +115,10 @@ procedure TBuildQueryParametersTests.GetQueryParams_WithReplyToAddresses_Address
117
115
' &ReplyToAddresses.member.2=emailtoreply2%40mail.com' ;
118
116
var
119
117
EncodedParams: TStringStream;
120
- ReplyTo: TArray<string>;
121
118
begin
122
- ReplyTo := TArray<string>.Create(
' [email protected] ' ,
' [email protected] ' );
119
+ FEmailMessage. ReplyTo := TArray<string>.Create(
' [email protected] ' ,
' [email protected] ' );
123
120
124
- EncodedParams :=
FBuildQueryParameters .GetQueryParams(
FRecipients, ReplyTo, ' ' , ' [email protected] ' , ' ' , ' ' );
121
+ EncodedParams := TBuildQueryParameters .GetQueryParams(FEmailMessage );
125
122
try
126
123
Assert.Contains(EncodedParams.DataString, ExpectedRecipients);
127
124
finally
@@ -139,15 +136,13 @@ procedure TBuildQueryParametersTests.GetQueryParams_WithTextBody_EncodedParamsRe
139
136
' &Message.Body.Text.Charset=UTF-8' +
140
137
' &Message.Body.Text.Data=Hello.%20I%20hope%20you%20are%20having%20a%20good%20day.' ;
141
138
var
142
- FromAddress, Subject, MessageBody: string;
143
139
EncodedParams: TStringStream;
144
140
begin
145
- FromAddress :=
' [email protected] ' ;
146
- Subject := ' This is the subject line.' ;
147
- MessageBody := ' Hello. I hope you are having a good day.' ;
141
+ FEmailMessage.BodyType := btText ;
142
+ FEmailMessage. Subject := ' This is the subject line.' ;
143
+ FEmailMessage.Body := ' Hello. I hope you are having a good day.' ;
148
144
149
- FBuildQueryParameters.EmailBody := eText;
150
- EncodedParams := FBuildQueryParameters.GetQueryParams(FRecipients, ' ' , FromAddress, Subject, MessageBody);
145
+ EncodedParams := TBuildQueryParameters.GetQueryParams(FEmailMessage);
151
146
try
152
147
Assert.AreEqual(EXPECTED_RETURN, EncodedParams.DataString);
153
148
finally
@@ -158,14 +153,8 @@ procedure TBuildQueryParametersTests.GetQueryParams_WithTextBody_EncodedParamsRe
158
153
procedure TBuildQueryParametersTests.SetUp ;
159
154
begin
160
155
inherited ;
161
- FBuildQueryParameters := TBuildQueryParameters.Create(eHTML);
162
- FRecipients := TArray<string>.Create(
' [email protected] ' );
163
- end ;
164
-
165
- procedure TBuildQueryParametersTests.TearDown ;
166
- begin
167
- inherited ;
168
- FBuildQueryParameters.Free;
156
+ FEmailMessage.FromAddress :=
' [email protected] ' ;
157
+ FEmailMessage.Recipients := TArray<string>.Create(
' [email protected] ' );
169
158
end ;
170
159
171
160
initialization
0 commit comments