@bigbinary/neeto-playwright-commons 1.26.22 → 1.26.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +275 -5
- package/index.cjs.js.map +1 -1
- package/index.d.ts +345 -7
- package/index.js +274 -6
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -781,6 +781,43 @@ declare class MemberApis {
|
|
|
781
781
|
update: (memberId: string, body: Record<string, unknown>) => Promise<playwright_core.APIResponse | undefined>;
|
|
782
782
|
bulkUpdate: (body: Record<string, unknown>) => Promise<playwright_core.APIResponse | undefined>;
|
|
783
783
|
}
|
|
784
|
+
type EmailAddress = string | string[];
|
|
785
|
+
interface RailsEmailAttachment {
|
|
786
|
+
name: string;
|
|
787
|
+
type: string;
|
|
788
|
+
content: string;
|
|
789
|
+
}
|
|
790
|
+
interface RailsEmail {
|
|
791
|
+
from: EmailAddress;
|
|
792
|
+
to: EmailAddress;
|
|
793
|
+
cc?: EmailAddress;
|
|
794
|
+
bcc?: EmailAddress;
|
|
795
|
+
replyTo?: EmailAddress;
|
|
796
|
+
subject: string;
|
|
797
|
+
htmlBody?: string;
|
|
798
|
+
textBody?: string;
|
|
799
|
+
receivedAt: string;
|
|
800
|
+
attachments?: RailsEmailAttachment[];
|
|
801
|
+
}
|
|
802
|
+
interface BaseRailsEmailSearchParams {
|
|
803
|
+
to: string;
|
|
804
|
+
from: string;
|
|
805
|
+
subject: string;
|
|
806
|
+
body: string;
|
|
807
|
+
receivedAfter: string;
|
|
808
|
+
}
|
|
809
|
+
type RailsEmailSearchParams = Partial<BaseRailsEmailSearchParams>;
|
|
810
|
+
declare class RailsEmailRakeClient {
|
|
811
|
+
private workingDirectory;
|
|
812
|
+
constructor();
|
|
813
|
+
private convertRawEmail;
|
|
814
|
+
private executeRakeTask;
|
|
815
|
+
private extractJsonFromOutput;
|
|
816
|
+
listEmails: (searchParams?: RailsEmailSearchParams) => Promise<RailsEmail[]>;
|
|
817
|
+
private buildSearchArgs;
|
|
818
|
+
getLatestEmail: (searchParams?: RailsEmailSearchParams) => Promise<RailsEmail | null>;
|
|
819
|
+
clearEmails: () => Promise<void>;
|
|
820
|
+
}
|
|
784
821
|
declare class RoleApis {
|
|
785
822
|
private neetoPlaywrightUtilities;
|
|
786
823
|
/**
|
|
@@ -965,6 +1002,292 @@ declare class TwilioApi {
|
|
|
965
1002
|
integrableType
|
|
966
1003
|
}: TwilioRequestParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
967
1004
|
}
|
|
1005
|
+
interface BaseMessageSearchCriteria {
|
|
1006
|
+
from: string;
|
|
1007
|
+
to: string;
|
|
1008
|
+
subject: string;
|
|
1009
|
+
body: string;
|
|
1010
|
+
}
|
|
1011
|
+
type MessageSearchCriteria$1 = Partial<BaseMessageSearchCriteria>;
|
|
1012
|
+
interface FindMessageFilterOptions$1 {
|
|
1013
|
+
receivedAfter: Date;
|
|
1014
|
+
timeout: number;
|
|
1015
|
+
expectedEmailCount?: number;
|
|
1016
|
+
}
|
|
1017
|
+
interface FindOtpFromEmailParams$1 {
|
|
1018
|
+
email: string;
|
|
1019
|
+
subjectSubstring?: string;
|
|
1020
|
+
timeout?: number;
|
|
1021
|
+
receivedAfter?: Date;
|
|
1022
|
+
expectedEmailCount?: number;
|
|
1023
|
+
}
|
|
1024
|
+
interface Identifier$1 {
|
|
1025
|
+
name: string;
|
|
1026
|
+
email: string;
|
|
1027
|
+
}
|
|
1028
|
+
interface MessageInferredData$1 {
|
|
1029
|
+
links: string[] | null;
|
|
1030
|
+
codes: string[] | null;
|
|
1031
|
+
body: string;
|
|
1032
|
+
}
|
|
1033
|
+
interface Attachment$1 {
|
|
1034
|
+
name: string;
|
|
1035
|
+
type: string;
|
|
1036
|
+
}
|
|
1037
|
+
interface FormattedList$1 {
|
|
1038
|
+
html: MessageInferredData$1;
|
|
1039
|
+
text: MessageInferredData$1;
|
|
1040
|
+
id: string;
|
|
1041
|
+
from: Identifier$1[];
|
|
1042
|
+
to: Identifier$1[];
|
|
1043
|
+
cc: Identifier$1[];
|
|
1044
|
+
bcc: Identifier$1[];
|
|
1045
|
+
replyTo: Identifier$1[];
|
|
1046
|
+
received: string;
|
|
1047
|
+
subject: string;
|
|
1048
|
+
attachments: Attachment$1[];
|
|
1049
|
+
blobId: string;
|
|
1050
|
+
}
|
|
1051
|
+
interface AttachmentDetails$1 {
|
|
1052
|
+
filename: string;
|
|
1053
|
+
type: string;
|
|
1054
|
+
content: Buffer;
|
|
1055
|
+
contentType: string;
|
|
1056
|
+
}
|
|
1057
|
+
declare class RailsEmailUtils {
|
|
1058
|
+
private neetoPlaywrightUtilities;
|
|
1059
|
+
private railsEmailRakeClient;
|
|
1060
|
+
constructor(neetoPlaywrightUtilities: CustomCommands);
|
|
1061
|
+
private convertRailsEmailToFormattedList;
|
|
1062
|
+
clearEmails: () => Promise<void>;
|
|
1063
|
+
getLatestEmail: (searchParams: RailsEmailSearchParams) => Promise<RailsEmail | null>;
|
|
1064
|
+
listEmails: (searchParams?: RailsEmailSearchParams) => Promise<RailsEmail[]>;
|
|
1065
|
+
/**
|
|
1066
|
+
*
|
|
1067
|
+
* This method is used to list a set of messages matching a specific search criteria. It immediately returns the available list of messages matching the search criteria and doesn't wait until a matching message is found. Due to this reason delays in email deliveries should be accounted while using this method. This method is useful in asserting negative test cases and asserting a list of emails matching a certain pattern.
|
|
1068
|
+
*
|
|
1069
|
+
* Note: If the intention is to find a matching message within a certain time frame, prefer using the findMessage method.
|
|
1070
|
+
*
|
|
1071
|
+
* messageSearchCriteria: An object containing the search criteria for matching the messages. The object can contain the keys, from, to, subject and body. All the keys of the object are optional. The values of the object are of string type and are case-insensitive. The following key-value pairs can be used:
|
|
1072
|
+
*
|
|
1073
|
+
* from: The complete email address from which the email was sent.
|
|
1074
|
+
*
|
|
1075
|
+
* to: The complete email address to which the email was sent to.
|
|
1076
|
+
*
|
|
1077
|
+
* subject: A complete string or a substring used to match the subject of the email.
|
|
1078
|
+
*
|
|
1079
|
+
* body: A complete string or a substring used to match the body of the email.
|
|
1080
|
+
*
|
|
1081
|
+
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter, page and itemsPerPage. The following key-value pairs can be used:
|
|
1082
|
+
*
|
|
1083
|
+
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to one hour before the method call.
|
|
1084
|
+
*
|
|
1085
|
+
* page: A number specifying the page number for paginating the results. Starts from 1 (default value). If a page number greater than the total number of matching emails is specified, an empty array will be returned.
|
|
1086
|
+
*
|
|
1087
|
+
* itemsPerPage: A number specifying the number of results per page. Default value is 50. The value can range from 1 to 100.
|
|
1088
|
+
*
|
|
1089
|
+
* Returns an array of objects with details about the emails matching the search and filter criteria. The object will have the following shape.
|
|
1090
|
+
*
|
|
1091
|
+
* html: Contains an object with the codes (Array of number strings having length greater than or equal to 4 in the email), links (Array of links in the email) and the body of the email with the HTML tags intact.
|
|
1092
|
+
*
|
|
1093
|
+
* text: Contains an object with the codes (Array of number strings having length greater than or equal to 4 in the email), links (Array of links in the email) and the body of the email with the HTML tags stripped off.
|
|
1094
|
+
*
|
|
1095
|
+
* id: A unique identifier string used to identify the email.
|
|
1096
|
+
*
|
|
1097
|
+
* from: An array of objects containing the name and email of the sender of the email.
|
|
1098
|
+
*
|
|
1099
|
+
* to: An array of objects containing the name and email of the receiver of the email.
|
|
1100
|
+
*
|
|
1101
|
+
* cc: An array of objects containing the name and email of the sender of the email as part of the cc list.
|
|
1102
|
+
*
|
|
1103
|
+
* replyTo: An array of objects containing the name and email of the individuals to whom replies should be directed.
|
|
1104
|
+
*
|
|
1105
|
+
* bcc: An array of objects containing the name and email of the recipients of the email as part of the bcc list.
|
|
1106
|
+
*
|
|
1107
|
+
* received: A JavaScript Date object containing the date-time of the email delivery.
|
|
1108
|
+
*
|
|
1109
|
+
* subject: A string containing the subject of the email.
|
|
1110
|
+
*
|
|
1111
|
+
* attachments: An array of objects containing the name and type of the attachment of the email.
|
|
1112
|
+
*
|
|
1113
|
+
* @example
|
|
1114
|
+
*
|
|
1115
|
+
* test("sample test", async ({ mailerUtils }) => {
|
|
1116
|
+
* const message = await mailerUtils.listMessages({
|
|
1117
|
+
* to: fastmailEmailId,
|
|
1118
|
+
* from: senderEmailId,
|
|
1119
|
+
* subject: "login code",
|
|
1120
|
+
* body: "neeto",
|
|
1121
|
+
* }, {
|
|
1122
|
+
* receivedAfter: new Date(),
|
|
1123
|
+
* page: 1,
|
|
1124
|
+
* itemsPerPage: 50,
|
|
1125
|
+
* });
|
|
1126
|
+
* });
|
|
1127
|
+
* @endexample
|
|
1128
|
+
*/
|
|
1129
|
+
listMessages: (messageSearchCriteria?: MessageSearchCriteria$1, {
|
|
1130
|
+
receivedAfter
|
|
1131
|
+
}?: {
|
|
1132
|
+
receivedAfter?: Date;
|
|
1133
|
+
}) => Promise<FormattedList$1[]>;
|
|
1134
|
+
/**
|
|
1135
|
+
*
|
|
1136
|
+
* This method is used to find a first email matching the search criteria. On top of the listMessage method, this method waits until a specific mail is received or the timeout is exceeded. This method is useful for fetching an email once an action is triggered since it waits for the message delivery and can be customized according to delays in email deliveries.
|
|
1137
|
+
*
|
|
1138
|
+
* Note: In development environment, this method uses Rails Email page to find messages. In other environments, it uses Fastmail APIs.
|
|
1139
|
+
*
|
|
1140
|
+
* messageSearchCriteria: An object containing the search criteria for matching the messages. The object can contain the keys, from, to, subject and body. All the keys of the object are optional. The values of the object are of string type and are case-insensitive. The following key-value pairs can be used:
|
|
1141
|
+
*
|
|
1142
|
+
* from: The complete email address from which the email was sent.
|
|
1143
|
+
*
|
|
1144
|
+
* to: The complete email address to which the email was sent to.
|
|
1145
|
+
*
|
|
1146
|
+
* subject: A complete string or a substring used to match the subject of the email.
|
|
1147
|
+
*
|
|
1148
|
+
* body: A complete string or a substring used to match the body of the email.
|
|
1149
|
+
*
|
|
1150
|
+
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter, timeout and expectedEmailCount. The following key-value pairs can be used:
|
|
1151
|
+
*
|
|
1152
|
+
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to one hour before the method call.
|
|
1153
|
+
*
|
|
1154
|
+
* timeout: A number indicating the number of milliseconds to retry fetching the message before timing out. Defaults to 10 seconds.
|
|
1155
|
+
*
|
|
1156
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1157
|
+
*
|
|
1158
|
+
* shouldThrowErrorOnTimeout (optional): A boolean value indicating whether the method show throw an error if a matching message is not found within the timeout time. If set to false, no error is thrown if the timeout is exceeded and just returns an empty object. Defaults to true.
|
|
1159
|
+
*
|
|
1160
|
+
* Returns an object with details about the first email matching the search and filter criteria. The object will have the following shape.
|
|
1161
|
+
*
|
|
1162
|
+
* html: Contains an object with the codes (Array of number strings having length greater than or equal to 4 in the email), links (Array of links in the email) and the body of the email with the HTML tags intact.
|
|
1163
|
+
*
|
|
1164
|
+
* text: Contains an object with the codes (Array of number strings having length greater than or equal to 4 in the email), links (Array of links in the email) and the body of the email with the HTML tags stripped off.
|
|
1165
|
+
*
|
|
1166
|
+
* id: A unique identifier string used to identify the email.
|
|
1167
|
+
*
|
|
1168
|
+
* from: An array of objects containing the name and email of the sender of the email.
|
|
1169
|
+
*
|
|
1170
|
+
* to: An array of objects containing the name and email of the receiver of the email.
|
|
1171
|
+
*
|
|
1172
|
+
* cc: An array of objects containing the name and email of the sender of the email as part of the cc list.
|
|
1173
|
+
*
|
|
1174
|
+
* replyTo: An array of objects containing the name and email of the individuals to whom replies should be directed.
|
|
1175
|
+
*
|
|
1176
|
+
* bcc: An array of objects containing the name and email of the recipients of the email as part of the bcc list.
|
|
1177
|
+
*
|
|
1178
|
+
* received: A JavaScript Date object containing the date-time of the email delivery.
|
|
1179
|
+
*
|
|
1180
|
+
* subject: A string containing the subject of the email.
|
|
1181
|
+
*
|
|
1182
|
+
* @example
|
|
1183
|
+
*
|
|
1184
|
+
* test("sample test", async ({ mailerUtils }) => {
|
|
1185
|
+
* const message = await mailerUtils.findMessage({
|
|
1186
|
+
* to: fastmailEmailId,
|
|
1187
|
+
* from: senderEmailId,
|
|
1188
|
+
* subject: "login code",
|
|
1189
|
+
* body: "neeto",
|
|
1190
|
+
* }, {
|
|
1191
|
+
* receivedAfter: new Date(),
|
|
1192
|
+
* timeout: 60 * 1000,
|
|
1193
|
+
* expectedEmailCount: 1,
|
|
1194
|
+
* }, false);
|
|
1195
|
+
* });
|
|
1196
|
+
* @endexample
|
|
1197
|
+
*/
|
|
1198
|
+
findMessage: (messageSearchCriteria?: MessageSearchCriteria$1, {
|
|
1199
|
+
timeout,
|
|
1200
|
+
receivedAfter,
|
|
1201
|
+
expectedEmailCount
|
|
1202
|
+
}?: Partial<FindMessageFilterOptions$1> | undefined, shouldThrowErrorOnTimeout?: boolean) => Promise<FormattedList$1 | Record<string, never>>;
|
|
1203
|
+
/**
|
|
1204
|
+
*
|
|
1205
|
+
* A helper method that is used to find the first code value from the matching email body. This method has been built to match the Neeto OTP emails.
|
|
1206
|
+
*
|
|
1207
|
+
* Note: In development environment, this method uses Rails Email page to find OTP. In other environments, it uses Fastmail APIs.
|
|
1208
|
+
*
|
|
1209
|
+
* The method accepts the following named arguments:
|
|
1210
|
+
*
|
|
1211
|
+
* email: The recipient email address used to find the email
|
|
1212
|
+
*
|
|
1213
|
+
* subjectSubstring: The subject of the email used to match it. Defaults to the string is your login code to match Neeto OTP emails
|
|
1214
|
+
*
|
|
1215
|
+
* timeout: The timeout duration number in milliseconds, which when exceeded without finding matching emails, the method throws an error. Default to 2 minutes.
|
|
1216
|
+
*
|
|
1217
|
+
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to the time of method call.
|
|
1218
|
+
*
|
|
1219
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1220
|
+
*
|
|
1221
|
+
* The method returns the OTP as a string from the matching email.
|
|
1222
|
+
*
|
|
1223
|
+
*/
|
|
1224
|
+
findOtpFromEmail: ({
|
|
1225
|
+
email,
|
|
1226
|
+
subjectSubstring,
|
|
1227
|
+
timeout,
|
|
1228
|
+
receivedAfter,
|
|
1229
|
+
expectedEmailCount
|
|
1230
|
+
}: FindOtpFromEmailParams$1) => Promise<string | undefined>;
|
|
1231
|
+
/**
|
|
1232
|
+
*
|
|
1233
|
+
* This method is used to return the attachment based on the attachmentName of first email matching the search criteria. On top of the findMessage method, this method matches the attachment name with the attachments associated to the email. If any attachment matches then it will fetch the attachment details and return. If any attachment file name doesn't contain the substring attachmentName then it will throw an error saying No such attachment exists.
|
|
1234
|
+
*
|
|
1235
|
+
* Note: In development environment, this method uses Rails Email page to fetch attachments. In other environments, it uses Fastmail APIs.
|
|
1236
|
+
*
|
|
1237
|
+
* attachmentName: A substring matching the attachment file name. It can be both with or without extension.
|
|
1238
|
+
*
|
|
1239
|
+
* messageSearchCriteria: An object containing the search criteria for matching the messages. The object can contain the keys, from, to, subject and body. All the keys of the object are optional. The values of the object are of string type and are case-insensitive. The following key-value pairs can be used:
|
|
1240
|
+
*
|
|
1241
|
+
* from: The complete email address from which the email was sent.
|
|
1242
|
+
*
|
|
1243
|
+
* to: The complete email address to which the email was sent to.
|
|
1244
|
+
*
|
|
1245
|
+
* subject: A complete string or a substring used to match the subject of the email.
|
|
1246
|
+
*
|
|
1247
|
+
* body: A complete string or a substring used to match the body of the email.
|
|
1248
|
+
*
|
|
1249
|
+
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter, timeout and expectedEmailCount. The following key-value pairs can be used:
|
|
1250
|
+
*
|
|
1251
|
+
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to one hour before the method call.
|
|
1252
|
+
*
|
|
1253
|
+
* timeout: A number indicating the number of milliseconds to retry fetching the message before timing out. Defaults to 10 seconds.
|
|
1254
|
+
*
|
|
1255
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1256
|
+
*
|
|
1257
|
+
* shouldThrowErrorOnTimeout (optional): A boolean value indicating whether the method show throw an error if a matching message is not found within the timeout time. If set to false, no error is thrown if the timeout is exceeded and just returns an empty object. Defaults to true.
|
|
1258
|
+
*
|
|
1259
|
+
* Returns a promise object with details of attachment. The object will have the following shape.
|
|
1260
|
+
*
|
|
1261
|
+
* filename: A string representing the file name of attachment.
|
|
1262
|
+
*
|
|
1263
|
+
* type: A string representing the type of attachment file.
|
|
1264
|
+
*
|
|
1265
|
+
* content: A buffer with the content of attachment file.
|
|
1266
|
+
*
|
|
1267
|
+
* contentType: A string representing the content type of attachment file.
|
|
1268
|
+
*
|
|
1269
|
+
* @example
|
|
1270
|
+
*
|
|
1271
|
+
* test("sample test", async ({ mailerUtils }) => {
|
|
1272
|
+
* const message = await mailerUtils.getEmailAttachment(
|
|
1273
|
+
* "invite",
|
|
1274
|
+
* {
|
|
1275
|
+
* to: fastmailEmailId,
|
|
1276
|
+
* from: senderEmailId,
|
|
1277
|
+
* subject: "Event details",
|
|
1278
|
+
* }, {
|
|
1279
|
+
* receivedAfter: new Date(),
|
|
1280
|
+
* timeout: 60 * 1000,
|
|
1281
|
+
* expectedEmailCount: 1,
|
|
1282
|
+
* }, false);
|
|
1283
|
+
* });
|
|
1284
|
+
* @endexample
|
|
1285
|
+
*/
|
|
1286
|
+
getEmailAttachment: (attachmentName: string, messageSearchCriteria?: MessageSearchCriteria$1, {
|
|
1287
|
+
receivedAfter,
|
|
1288
|
+
expectedEmailCount
|
|
1289
|
+
}?: Partial<FindMessageFilterOptions$1> | undefined, shouldThrowErrorOnTimeout?: boolean) => Promise<AttachmentDetails$1 | undefined>;
|
|
1290
|
+
}
|
|
968
1291
|
interface FastmailHeaders {
|
|
969
1292
|
"Content-Type": "application/json";
|
|
970
1293
|
Authorization: `Bearer ${string}`;
|
|
@@ -1063,6 +1386,7 @@ declare class MailerUtils {
|
|
|
1063
1386
|
private neetoPlaywrightUtilities;
|
|
1064
1387
|
accountId: string | undefined;
|
|
1065
1388
|
fastmailApi: FastmailApi;
|
|
1389
|
+
railsEmailUtils: RailsEmailUtils;
|
|
1066
1390
|
constructor(neetoPlaywrightUtilities: CustomCommands);
|
|
1067
1391
|
private queryEmail;
|
|
1068
1392
|
private getEmails;
|
|
@@ -1130,7 +1454,7 @@ declare class MailerUtils {
|
|
|
1130
1454
|
* });
|
|
1131
1455
|
* @endexample
|
|
1132
1456
|
*/
|
|
1133
|
-
listMessages: (messageSearchCriteria?: Partial<MessageSearchCriteria> | undefined, listMessagesFilterCriteria?: Partial<ListMessagesFilterCriteria> | undefined) => Promise<FormattedList[]>;
|
|
1457
|
+
listMessages: (messageSearchCriteria?: Partial<MessageSearchCriteria> | undefined, listMessagesFilterCriteria?: Partial<ListMessagesFilterCriteria> | undefined) => Promise<FormattedList$1[]>;
|
|
1134
1458
|
getEmailIds: (messageSearchCriteria?: Partial<MessageSearchCriteria>, {
|
|
1135
1459
|
timeout,
|
|
1136
1460
|
receivedAfter,
|
|
@@ -1141,6 +1465,8 @@ declare class MailerUtils {
|
|
|
1141
1465
|
*
|
|
1142
1466
|
* This method is used to find a first email matching the search criteria. On top of the listMessage method, this method waits until a specific mail is received or the timeout is exceeded. This method is useful for fetching an email once an action is triggered since it waits for the message delivery and can be customized according to delays in email deliveries.
|
|
1143
1467
|
*
|
|
1468
|
+
* Note: In development environment, this method uses Rails Email page to find messages. In other environments, it uses Fastmail APIs.
|
|
1469
|
+
*
|
|
1144
1470
|
* messageSearchCriteria: An object containing the search criteria for matching the messages. The object can contain the keys, from, to, subject and body. All the keys of the object are optional. The values of the object are of string type and are case-insensitive. The following key-value pairs can be used:
|
|
1145
1471
|
*
|
|
1146
1472
|
* from: The complete email address from which the email was sent.
|
|
@@ -1151,12 +1477,14 @@ declare class MailerUtils {
|
|
|
1151
1477
|
*
|
|
1152
1478
|
* body: A complete string or a substring used to match the body of the email.
|
|
1153
1479
|
*
|
|
1154
|
-
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter,
|
|
1480
|
+
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter, timeout and expectedEmailCount. The following key-value pairs can be used:
|
|
1155
1481
|
*
|
|
1156
1482
|
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to one hour before the method call.
|
|
1157
1483
|
*
|
|
1158
1484
|
* timeout: A number indicating the number of milliseconds to retry fetching the message before timing out. Defaults to 10 seconds.
|
|
1159
1485
|
*
|
|
1486
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1487
|
+
*
|
|
1160
1488
|
* shouldThrowErrorOnTimeout (optional): A boolean value indicating whether the method show throw an error if a matching message is not found within the timeout time. If set to false, no error is thrown if the timeout is exceeded and just returns an empty object. Defaults to true.
|
|
1161
1489
|
*
|
|
1162
1490
|
* Returns an object with details about the first email matching the search and filter criteria. The object will have the following shape.
|
|
@@ -1184,7 +1512,7 @@ declare class MailerUtils {
|
|
|
1184
1512
|
* @example
|
|
1185
1513
|
*
|
|
1186
1514
|
* test("sample test", async ({ mailerUtils }) => {
|
|
1187
|
-
* const message = await mailerUtils.
|
|
1515
|
+
* const message = await mailerUtils.findMessage({
|
|
1188
1516
|
* to: fastmailEmailId,
|
|
1189
1517
|
* from: senderEmailId,
|
|
1190
1518
|
* subject: "login code",
|
|
@@ -1192,6 +1520,7 @@ declare class MailerUtils {
|
|
|
1192
1520
|
* }, {
|
|
1193
1521
|
* receivedAfter: new Date(),
|
|
1194
1522
|
* timeout: 60 * 1000,
|
|
1523
|
+
* expectedEmailCount: 1,
|
|
1195
1524
|
* }, false);
|
|
1196
1525
|
* });
|
|
1197
1526
|
* @endexample
|
|
@@ -1205,6 +1534,8 @@ declare class MailerUtils {
|
|
|
1205
1534
|
*
|
|
1206
1535
|
* A helper method that is used to find the first code value from the matching email body. This method has been built to match the Neeto OTP emails.
|
|
1207
1536
|
*
|
|
1537
|
+
* Note: In development environment, this method uses Rails Email page to find OTP. In other environments, it uses Fastmail APIs.
|
|
1538
|
+
*
|
|
1208
1539
|
* The method accepts the following named arguments:
|
|
1209
1540
|
*
|
|
1210
1541
|
* email: The recipient email address used to find the email
|
|
@@ -1213,7 +1544,9 @@ declare class MailerUtils {
|
|
|
1213
1544
|
*
|
|
1214
1545
|
* timeout: The timeout duration number in milliseconds, which when exceeded without finding matching emails, the method throws an error. Default to 2 minutes.
|
|
1215
1546
|
*
|
|
1216
|
-
* receivedAfter:
|
|
1547
|
+
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to the time of method call.
|
|
1548
|
+
*
|
|
1549
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1217
1550
|
*
|
|
1218
1551
|
* The method returns the OTP as a string from the matching email.
|
|
1219
1552
|
*
|
|
@@ -1237,6 +1570,8 @@ declare class MailerUtils {
|
|
|
1237
1570
|
*
|
|
1238
1571
|
* This method is used to return the attachment based on the attachmentName of first email matching the search criteria. On top of the findMessage method, this method matches the attachment name with the attachments associated to the email. If any attachment matches then it will fetch the attachment details and return. If any attachment file name doesn't contain the substring attachmentName then it will throw an error saying No such attachment exists.
|
|
1239
1572
|
*
|
|
1573
|
+
* Note: In development environment, this method uses Rails Email page to fetch attachments. In other environments, it uses Fastmail APIs.
|
|
1574
|
+
*
|
|
1240
1575
|
* attachmentName: A substring matching the attachment file name. It can be both with or without extension.
|
|
1241
1576
|
*
|
|
1242
1577
|
* messageSearchCriteria: An object containing the search criteria for matching the messages. The object can contain the keys, from, to, subject and body. All the keys of the object are optional. The values of the object are of string type and are case-insensitive. The following key-value pairs can be used:
|
|
@@ -1249,12 +1584,14 @@ declare class MailerUtils {
|
|
|
1249
1584
|
*
|
|
1250
1585
|
* body: A complete string or a substring used to match the body of the email.
|
|
1251
1586
|
*
|
|
1252
|
-
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter,
|
|
1587
|
+
* messageFilterCriteria (optional): An object containing the criteria which are used to filter the messages that match the search criteria. The object can contain the keys receivedAfter, timeout and expectedEmailCount. The following key-value pairs can be used:
|
|
1253
1588
|
*
|
|
1254
1589
|
* receivedAfter: A JavaScript Date object used to filter the matching messages on the date-time of email delivery. Defaults to one hour before the method call.
|
|
1255
1590
|
*
|
|
1256
1591
|
* timeout: A number indicating the number of milliseconds to retry fetching the message before timing out. Defaults to 10 seconds.
|
|
1257
1592
|
*
|
|
1593
|
+
* expectedEmailCount: A number indicating the minimum number of matching emails expected before returning. Defaults to 1.
|
|
1594
|
+
*
|
|
1258
1595
|
* shouldThrowErrorOnTimeout (optional): A boolean value indicating whether the method show throw an error if a matching message is not found within the timeout time. If set to false, no error is thrown if the timeout is exceeded and just returns an empty object. Defaults to true.
|
|
1259
1596
|
*
|
|
1260
1597
|
* Returns a promise object with details of attachment. The object will have the following shape.
|
|
@@ -1279,6 +1616,7 @@ declare class MailerUtils {
|
|
|
1279
1616
|
* }, {
|
|
1280
1617
|
* receivedAfter: new Date(),
|
|
1281
1618
|
* timeout: 60 * 1000,
|
|
1619
|
+
* expectedEmailCount: 1,
|
|
1282
1620
|
* }, false);
|
|
1283
1621
|
* });
|
|
1284
1622
|
* @endexample
|
|
@@ -2732,7 +3070,7 @@ declare class ZapierPage extends IntegrationBase {
|
|
|
2732
3070
|
submittedEmail,
|
|
2733
3071
|
zapTriggeredAfter,
|
|
2734
3072
|
timeout
|
|
2735
|
-
}: VerifyZapIsTriggeredProps) => Promise<
|
|
3073
|
+
}: VerifyZapIsTriggeredProps) => Promise<Record<string, never> | FormattedList>;
|
|
2736
3074
|
/**
|
|
2737
3075
|
*
|
|
2738
3076
|
* Skips test if Zapier task limit is exhausted.
|
|
@@ -8383,5 +8721,5 @@ interface Overrides {
|
|
|
8383
8721
|
* @endexample
|
|
8384
8722
|
*/
|
|
8385
8723
|
declare const definePlaywrightConfig: (overrides: Overrides) => PlaywrightTestConfig<{}, {}>;
|
|
8386
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, fillCredentialsAndSubmit, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
8724
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailRakeClient, RailsEmailUtils, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, fillCredentialsAndSubmit, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
8387
8725
|
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, IntroPageThemeStyle, IntroPageThemeStyleType, ThemeCategory, ValueOf };
|