@bigbinary/neeto-playwright-commons 3.0.1 → 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/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: (payload: EmailDeliveryConnectParams) => Promise<playwright_core.APIResponse | undefined>;
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