@bigbinary/neeto-playwright-commons 3.0.0 → 3.0.2
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/configs/eslint/common.js +128 -0
- package/configs/eslint/host.js +42 -0
- package/configs/scripts/jsdoc-builder/constants.mjs +41 -0
- package/configs/scripts/jsdoc-builder/utils.mjs +257 -0
- package/index.cjs.js +69 -68
- package/index.cjs.js.map +1 -1
- package/index.d.ts +45 -35
- package/index.js +69 -69
- package/index.js.map +1 -1
- package/package.json +3 -4
- package/build/compiled/constants/selectors/index.d.ts +0 -28
- package/build/compiled/constants/selectors/index.js +0 -29
- package/build/compiled/constants/selectors/index.js.map +0 -1
- package/build/compiled/fixtures/index.d.ts +0 -5
- package/build/compiled/fixtures/index.js +0 -6
- package/build/compiled/fixtures/index.js.map +0 -1
- package/build/compiled/index.d.ts +0 -74
- package/build/compiled/index.js +0 -80
- package/build/compiled/index.js.map +0 -1
- package/src/constants/selectors/index.ts +0 -28
- package/src/fixtures/index.ts +0 -12
- package/src/index.ts +0 -145
- package/typeTemplates/index.d.ts +0 -3061
package/index.d.ts
CHANGED
|
@@ -783,6 +783,7 @@ type EmailDeliveryProvider = "gmail" | "outlook";
|
|
|
783
783
|
interface EmailDeliveryConnectParams {
|
|
784
784
|
emailProvider: EmailDeliveryProvider;
|
|
785
785
|
refreshToken: string;
|
|
786
|
+
ownerId?: string;
|
|
786
787
|
}
|
|
787
788
|
interface EmailDeliveryVerifyEmailParams {
|
|
788
789
|
emailProvider: EmailDeliveryProvider;
|
|
@@ -790,6 +791,7 @@ interface EmailDeliveryVerifyEmailParams {
|
|
|
790
791
|
to: string;
|
|
791
792
|
from: string;
|
|
792
793
|
body?: string;
|
|
794
|
+
ownerId?: string;
|
|
793
795
|
}
|
|
794
796
|
interface EmailDeliveryVerifiedEmail {
|
|
795
797
|
subject: string;
|
|
@@ -818,7 +820,10 @@ declare class NeetoEmailDeliveryApi {
|
|
|
818
820
|
* await integrationBase.connect(true);
|
|
819
821
|
* @endexample
|
|
820
822
|
*/
|
|
821
|
-
connect: (
|
|
823
|
+
connect: ({
|
|
824
|
+
ownerId,
|
|
825
|
+
...payload
|
|
826
|
+
}: EmailDeliveryConnectParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
822
827
|
verifyEmail: (params: EmailDeliveryVerifyEmailParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
823
828
|
}
|
|
824
829
|
type EmailAddress = string | string[];
|
|
@@ -5484,38 +5489,6 @@ declare class TagsPage {
|
|
|
5484
5489
|
tagsBreadcrumbSelector
|
|
5485
5490
|
}: MergeTagsViaUIProps) => Promise<void>;
|
|
5486
5491
|
}
|
|
5487
|
-
interface ConnectRequestParams {
|
|
5488
|
-
provider: EmailDeliveryProvider;
|
|
5489
|
-
}
|
|
5490
|
-
interface EmailMatchCriteria {
|
|
5491
|
-
subject: string;
|
|
5492
|
-
to: string;
|
|
5493
|
-
from?: string;
|
|
5494
|
-
partialBody?: string;
|
|
5495
|
-
}
|
|
5496
|
-
interface VerifyEmailRequestOptions {
|
|
5497
|
-
provider: EmailDeliveryProvider;
|
|
5498
|
-
timeout?: number;
|
|
5499
|
-
shouldThrowErrorOnTimeout?: boolean;
|
|
5500
|
-
}
|
|
5501
|
-
declare class EmailDeliveryUtils {
|
|
5502
|
-
private neetoPlaywrightUtilities;
|
|
5503
|
-
private emailDeliveryApi;
|
|
5504
|
-
constructor(neetoPlaywrightUtilities: CustomCommands);
|
|
5505
|
-
connectViaRequest: ({
|
|
5506
|
-
provider
|
|
5507
|
-
}: ConnectRequestParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
5508
|
-
verifyEmailViaRequest: ({
|
|
5509
|
-
subject,
|
|
5510
|
-
to,
|
|
5511
|
-
partialBody,
|
|
5512
|
-
from
|
|
5513
|
-
}: EmailMatchCriteria, {
|
|
5514
|
-
provider,
|
|
5515
|
-
timeout,
|
|
5516
|
-
shouldThrowErrorOnTimeout
|
|
5517
|
-
}: VerifyEmailRequestOptions) => Promise<EmailDeliveryVerifiedEmail | null>;
|
|
5518
|
-
}
|
|
5519
5492
|
declare const USER_AGENTS: {
|
|
5520
5493
|
windows: string;
|
|
5521
5494
|
mac: string;
|
|
@@ -8991,6 +8964,43 @@ declare class NeetoAuthServer {
|
|
|
8991
8964
|
start: () => Promise<void>;
|
|
8992
8965
|
stop: () => Promise<void>;
|
|
8993
8966
|
}
|
|
8967
|
+
interface ConnectRequestParams {
|
|
8968
|
+
provider: EmailDeliveryProvider;
|
|
8969
|
+
ownerId?: string;
|
|
8970
|
+
}
|
|
8971
|
+
interface EmailMatchCriteria {
|
|
8972
|
+
subject: string;
|
|
8973
|
+
to: string;
|
|
8974
|
+
from?: string;
|
|
8975
|
+
partialBody?: string;
|
|
8976
|
+
}
|
|
8977
|
+
interface VerifyEmailRequestOptions {
|
|
8978
|
+
provider: EmailDeliveryProvider;
|
|
8979
|
+
ownerId?: string;
|
|
8980
|
+
timeout?: number;
|
|
8981
|
+
shouldThrowErrorOnTimeout?: boolean;
|
|
8982
|
+
}
|
|
8983
|
+
declare const FROM_EMAIL_ENV_KEYS: Record<EmailDeliveryProvider, string>;
|
|
8984
|
+
declare class EmailDeliveryUtils {
|
|
8985
|
+
private neetoPlaywrightUtilities;
|
|
8986
|
+
private emailDeliveryApi;
|
|
8987
|
+
constructor(neetoPlaywrightUtilities: CustomCommands);
|
|
8988
|
+
connectViaRequest: ({
|
|
8989
|
+
provider,
|
|
8990
|
+
ownerId
|
|
8991
|
+
}: ConnectRequestParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
8992
|
+
verifyEmailViaRequest: ({
|
|
8993
|
+
subject,
|
|
8994
|
+
to,
|
|
8995
|
+
partialBody,
|
|
8996
|
+
from
|
|
8997
|
+
}: EmailMatchCriteria, {
|
|
8998
|
+
provider,
|
|
8999
|
+
ownerId,
|
|
9000
|
+
timeout,
|
|
9001
|
+
shouldThrowErrorOnTimeout
|
|
9002
|
+
}: VerifyEmailRequestOptions) => Promise<EmailDeliveryVerifiedEmail | null>;
|
|
9003
|
+
}
|
|
8994
9004
|
declare const PROJECT_NAMES: {
|
|
8995
9005
|
readonly setup: "setup";
|
|
8996
9006
|
readonly chromium: "chromium";
|
|
@@ -9036,5 +9046,5 @@ interface Overrides {
|
|
|
9036
9046
|
* @endexample
|
|
9037
9047
|
*/
|
|
9038
9048
|
declare const definePlaywrightConfig: (overrides: Overrides) => PlaywrightTestConfig<{}, {}>;
|
|
9039
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CALENDAR_LABELS, 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_FORMATS, 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, EmailDeliveryUtils, 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_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, 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, NeetoAuthServer, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, 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, hexToRGB, hexToRGBA, i18nFixture, imageRegex, 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, warmup, writeDataToFile };
|
|
9040
|
-
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, IntroPageThemeStyle, IntroPageThemeStyleType, ProjectName, ThemeCategory, ValueOf };
|
|
9049
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CALENDAR_LABELS, 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_FORMATS, 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, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, 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, NeetoAuthServer, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, 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, hexToRGB, hexToRGBA, i18nFixture, imageRegex, 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, warmup, writeDataToFile };
|
|
9050
|
+
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, EmailMatchCriteria, IntroPageThemeStyle, IntroPageThemeStyleType, ProjectName, ThemeCategory, ValueOf };
|
package/index.js
CHANGED
|
@@ -232,12 +232,10 @@ class NeetoEmailDeliveryApi {
|
|
|
232
232
|
constructor(neetoPlaywrightUtilities) {
|
|
233
233
|
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
234
234
|
}
|
|
235
|
-
connect = (payload) => this.neetoPlaywrightUtilities.apiRequest({
|
|
235
|
+
connect = ({ ownerId, ...payload }) => this.neetoPlaywrightUtilities.apiRequest({
|
|
236
236
|
method: "post",
|
|
237
237
|
url: `${NEETO_EMAIL_DELIVERY_TESTING_BASE_URL}/connect`,
|
|
238
|
-
body: {
|
|
239
|
-
connect: keysToSnakeCase(payload),
|
|
240
|
-
},
|
|
238
|
+
body: keysToSnakeCase({ ownerId, connect: payload }),
|
|
241
239
|
});
|
|
242
240
|
verifyEmail = (params) => this.neetoPlaywrightUtilities.apiRequest({
|
|
243
241
|
url: `${NEETO_EMAIL_DELIVERY_TESTING_BASE_URL}/verify_email`,
|
|
@@ -121462,70 +121460,6 @@ class TagsPage {
|
|
|
121462
121460
|
};
|
|
121463
121461
|
}
|
|
121464
121462
|
|
|
121465
|
-
const REFRESH_TOKEN_ENV_KEYS = {
|
|
121466
|
-
gmail: "EMAIL_DELIVERY_GMAIL_REFRESH_TOKEN",
|
|
121467
|
-
outlook: "EMAIL_DELIVERY_OUTLOOK_REFRESH_TOKEN",
|
|
121468
|
-
};
|
|
121469
|
-
const FROM_EMAIL_ENV_KEYS = {
|
|
121470
|
-
gmail: "EMAIL_DELIVERY_CONNECTED_GMAIL",
|
|
121471
|
-
outlook: "EMAIL_DELIVERY_CONNECTED_OUTLOOK",
|
|
121472
|
-
};
|
|
121473
|
-
class EmailDeliveryUtils {
|
|
121474
|
-
neetoPlaywrightUtilities;
|
|
121475
|
-
emailDeliveryApi;
|
|
121476
|
-
constructor(neetoPlaywrightUtilities) {
|
|
121477
|
-
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
121478
|
-
this.emailDeliveryApi = new NeetoEmailDeliveryApi(neetoPlaywrightUtilities);
|
|
121479
|
-
}
|
|
121480
|
-
connectViaRequest = async ({ provider }) => {
|
|
121481
|
-
const refreshTokenEnvKey = REFRESH_TOKEN_ENV_KEYS[provider];
|
|
121482
|
-
const refreshToken = process.env[refreshTokenEnvKey];
|
|
121483
|
-
if (isNil(refreshToken)) {
|
|
121484
|
-
throw new Error(`ENV variable ${refreshTokenEnvKey} is not properly configured`);
|
|
121485
|
-
}
|
|
121486
|
-
const response = await this.emailDeliveryApi.connect({
|
|
121487
|
-
emailProvider: provider,
|
|
121488
|
-
refreshToken,
|
|
121489
|
-
});
|
|
121490
|
-
expect(response?.ok()).toBeTruthy();
|
|
121491
|
-
return response;
|
|
121492
|
-
};
|
|
121493
|
-
verifyEmailViaRequest = async ({ subject, to, partialBody, from }, { provider, timeout = 30 * 1000, shouldThrowErrorOnTimeout = true, }) => {
|
|
121494
|
-
const fromEmail = from ?? process.env[FROM_EMAIL_ENV_KEYS[provider]];
|
|
121495
|
-
if (isNil(fromEmail)) {
|
|
121496
|
-
throw new Error(`ENV variable ${FROM_EMAIL_ENV_KEYS[provider]} is not properly configured`);
|
|
121497
|
-
}
|
|
121498
|
-
const verifyParams = {
|
|
121499
|
-
emailProvider: provider,
|
|
121500
|
-
subject,
|
|
121501
|
-
to,
|
|
121502
|
-
from: fromEmail,
|
|
121503
|
-
body: partialBody,
|
|
121504
|
-
};
|
|
121505
|
-
let lastResult = null;
|
|
121506
|
-
const fetchEmail = async () => {
|
|
121507
|
-
const response = await this.emailDeliveryApi.verifyEmail(verifyParams);
|
|
121508
|
-
if (!response?.ok()) {
|
|
121509
|
-
lastResult = null;
|
|
121510
|
-
return;
|
|
121511
|
-
}
|
|
121512
|
-
lastResult = (await response.json());
|
|
121513
|
-
};
|
|
121514
|
-
const email = (await this.neetoPlaywrightUtilities.executeRecursively({
|
|
121515
|
-
condition: async () => {
|
|
121516
|
-
await fetchEmail();
|
|
121517
|
-
return Boolean(lastResult?.exists);
|
|
121518
|
-
},
|
|
121519
|
-
callback: async () => lastResult?.exists ? (lastResult.email ?? null) : null,
|
|
121520
|
-
timeout,
|
|
121521
|
-
}));
|
|
121522
|
-
if (!email && shouldThrowErrorOnTimeout) {
|
|
121523
|
-
throw new Error(`Timed out waiting for ${provider} email matching subject "${subject}"`);
|
|
121524
|
-
}
|
|
121525
|
-
return email;
|
|
121526
|
-
};
|
|
121527
|
-
}
|
|
121528
|
-
|
|
121529
121463
|
const USER_AGENTS = {
|
|
121530
121464
|
windows: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
|
|
121531
121465
|
mac: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
|
@@ -125226,6 +125160,72 @@ class NeetoAuthServer {
|
|
|
125226
125160
|
};
|
|
125227
125161
|
}
|
|
125228
125162
|
|
|
125163
|
+
const REFRESH_TOKEN_ENV_KEYS = {
|
|
125164
|
+
gmail: "EMAIL_DELIVERY_GMAIL_REFRESH_TOKEN",
|
|
125165
|
+
outlook: "EMAIL_DELIVERY_OUTLOOK_REFRESH_TOKEN",
|
|
125166
|
+
};
|
|
125167
|
+
const FROM_EMAIL_ENV_KEYS = {
|
|
125168
|
+
gmail: "EMAIL_DELIVERY_CONNECTED_GMAIL",
|
|
125169
|
+
outlook: "EMAIL_DELIVERY_CONNECTED_OUTLOOK",
|
|
125170
|
+
};
|
|
125171
|
+
class EmailDeliveryUtils {
|
|
125172
|
+
neetoPlaywrightUtilities;
|
|
125173
|
+
emailDeliveryApi;
|
|
125174
|
+
constructor(neetoPlaywrightUtilities) {
|
|
125175
|
+
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
125176
|
+
this.emailDeliveryApi = new NeetoEmailDeliveryApi(neetoPlaywrightUtilities);
|
|
125177
|
+
}
|
|
125178
|
+
connectViaRequest = async ({ provider, ownerId }) => {
|
|
125179
|
+
const refreshTokenEnvKey = REFRESH_TOKEN_ENV_KEYS[provider];
|
|
125180
|
+
const refreshToken = process.env[refreshTokenEnvKey];
|
|
125181
|
+
if (isNil(refreshToken)) {
|
|
125182
|
+
throw new Error(`ENV variable ${refreshTokenEnvKey} is not properly configured`);
|
|
125183
|
+
}
|
|
125184
|
+
const response = await this.emailDeliveryApi.connect({
|
|
125185
|
+
emailProvider: provider,
|
|
125186
|
+
refreshToken,
|
|
125187
|
+
ownerId,
|
|
125188
|
+
});
|
|
125189
|
+
expect(response?.ok()).toBeTruthy();
|
|
125190
|
+
return response;
|
|
125191
|
+
};
|
|
125192
|
+
verifyEmailViaRequest = async ({ subject, to, partialBody, from }, { provider, ownerId, timeout = 30 * 1000, shouldThrowErrorOnTimeout = true, }) => {
|
|
125193
|
+
const fromEmail = from ?? process.env[FROM_EMAIL_ENV_KEYS[provider]];
|
|
125194
|
+
if (isNil(fromEmail)) {
|
|
125195
|
+
throw new Error(`ENV variable ${FROM_EMAIL_ENV_KEYS[provider]} is not properly configured`);
|
|
125196
|
+
}
|
|
125197
|
+
const verifyParams = {
|
|
125198
|
+
emailProvider: provider,
|
|
125199
|
+
subject,
|
|
125200
|
+
to,
|
|
125201
|
+
from: fromEmail,
|
|
125202
|
+
body: partialBody,
|
|
125203
|
+
ownerId,
|
|
125204
|
+
};
|
|
125205
|
+
let lastResult = null;
|
|
125206
|
+
const fetchEmail = async () => {
|
|
125207
|
+
const response = await this.emailDeliveryApi.verifyEmail(verifyParams);
|
|
125208
|
+
if (!response?.ok()) {
|
|
125209
|
+
lastResult = null;
|
|
125210
|
+
return;
|
|
125211
|
+
}
|
|
125212
|
+
lastResult = (await response.json());
|
|
125213
|
+
};
|
|
125214
|
+
const email = (await this.neetoPlaywrightUtilities.executeRecursively({
|
|
125215
|
+
condition: async () => {
|
|
125216
|
+
await fetchEmail();
|
|
125217
|
+
return Boolean(lastResult?.exists);
|
|
125218
|
+
},
|
|
125219
|
+
callback: async () => lastResult?.exists ? (lastResult.email ?? null) : null,
|
|
125220
|
+
timeout,
|
|
125221
|
+
}));
|
|
125222
|
+
if (!email && shouldThrowErrorOnTimeout) {
|
|
125223
|
+
throw new Error(`Timed out waiting for ${provider} email matching subject "${subject}"`);
|
|
125224
|
+
}
|
|
125225
|
+
return email;
|
|
125226
|
+
};
|
|
125227
|
+
}
|
|
125228
|
+
|
|
125229
125229
|
var main$1 = {exports: {}};
|
|
125230
125230
|
|
|
125231
125231
|
var version = "17.3.1";
|
|
@@ -126048,5 +126048,5 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
126048
126048
|
});
|
|
126049
126049
|
};
|
|
126050
126050
|
|
|
126051
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CALENDAR_LABELS, 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_FORMATS, 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, EmailDeliveryUtils, 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_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, 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, NeetoAuthServer, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, 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, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, writeDataToFile };
|
|
126051
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CALENDAR_LABELS, 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_FORMATS, 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, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, 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, NeetoAuthServer, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, 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, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, writeDataToFile };
|
|
126052
126052
|
//# sourceMappingURL=index.js.map
|