@bigbinary/neeto-playwright-commons 2.2.5 → 3.0.0
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/README.md +1 -0
- package/build/compiled/constants/selectors/index.d.ts +28 -0
- package/build/compiled/constants/selectors/index.js +29 -0
- package/build/compiled/constants/selectors/index.js.map +1 -0
- package/build/compiled/fixtures/index.d.ts +5 -0
- package/build/compiled/fixtures/index.js +6 -0
- package/build/compiled/fixtures/index.js.map +1 -0
- package/build/compiled/index.d.ts +74 -0
- package/build/compiled/index.js +80 -0
- package/build/compiled/index.js.map +1 -0
- package/index.cjs.js +134 -46
- package/index.cjs.js.map +1 -1
- package/index.d.ts +78 -2
- package/index.js +133 -48
- package/index.js.map +1 -1
- package/package.json +10 -13
- package/scripts/neeto-auth/setup.sh +0 -0
- package/src/constants/selectors/index.ts +28 -0
- package/src/fixtures/index.ts +12 -0
- package/src/index.ts +145 -0
- package/typeTemplates/index.d.ts +3061 -0
- package/configs/eslint/common.js +0 -128
- package/configs/eslint/host.js +0 -42
- package/configs/scripts/jsdoc-builder/constants.mjs +0 -41
- package/configs/scripts/jsdoc-builder/utils.mjs +0 -257
package/index.d.ts
CHANGED
|
@@ -779,6 +779,48 @@ declare class MemberApis {
|
|
|
779
779
|
update: (memberId: string, body: Record<string, unknown>) => Promise<playwright_core.APIResponse | undefined>;
|
|
780
780
|
bulkUpdate: (body: Record<string, unknown>) => Promise<playwright_core.APIResponse | undefined>;
|
|
781
781
|
}
|
|
782
|
+
type EmailDeliveryProvider = "gmail" | "outlook";
|
|
783
|
+
interface EmailDeliveryConnectParams {
|
|
784
|
+
emailProvider: EmailDeliveryProvider;
|
|
785
|
+
refreshToken: string;
|
|
786
|
+
}
|
|
787
|
+
interface EmailDeliveryVerifyEmailParams {
|
|
788
|
+
emailProvider: EmailDeliveryProvider;
|
|
789
|
+
subject: string;
|
|
790
|
+
to: string;
|
|
791
|
+
from: string;
|
|
792
|
+
body?: string;
|
|
793
|
+
}
|
|
794
|
+
interface EmailDeliveryVerifiedEmail {
|
|
795
|
+
subject: string;
|
|
796
|
+
from: string;
|
|
797
|
+
to: string;
|
|
798
|
+
date: string;
|
|
799
|
+
body: string;
|
|
800
|
+
}
|
|
801
|
+
interface EmailDeliveryVerifyEmailResponse {
|
|
802
|
+
exists: boolean;
|
|
803
|
+
email?: EmailDeliveryVerifiedEmail;
|
|
804
|
+
}
|
|
805
|
+
declare class NeetoEmailDeliveryApi {
|
|
806
|
+
private neetoPlaywrightUtilities;
|
|
807
|
+
constructor(neetoPlaywrightUtilities: CustomCommands);
|
|
808
|
+
/**
|
|
809
|
+
*
|
|
810
|
+
* Connects an integration. It takes the following parameters:
|
|
811
|
+
*
|
|
812
|
+
* skipGoTo: Boolean indicating whether to skip navigating to integration index (default: false).
|
|
813
|
+
*
|
|
814
|
+
* @example
|
|
815
|
+
*
|
|
816
|
+
* await integrationBase.connect();
|
|
817
|
+
* // OR
|
|
818
|
+
* await integrationBase.connect(true);
|
|
819
|
+
* @endexample
|
|
820
|
+
*/
|
|
821
|
+
connect: (payload: EmailDeliveryConnectParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
822
|
+
verifyEmail: (params: EmailDeliveryVerifyEmailParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
823
|
+
}
|
|
782
824
|
type EmailAddress = string | string[];
|
|
783
825
|
interface RailsEmailAttachment {
|
|
784
826
|
name: string;
|
|
@@ -3826,6 +3868,7 @@ declare const IS_STAGING_ENV: boolean;
|
|
|
3826
3868
|
* @endexample
|
|
3827
3869
|
*/
|
|
3828
3870
|
declare const IS_DEV_ENV: boolean;
|
|
3871
|
+
declare const IS_CI: boolean;
|
|
3829
3872
|
declare const DEFAULT_WEBHOOKS_RESPONSE_TEXT: string;
|
|
3830
3873
|
/**
|
|
3831
3874
|
*
|
|
@@ -5441,6 +5484,38 @@ declare class TagsPage {
|
|
|
5441
5484
|
tagsBreadcrumbSelector
|
|
5442
5485
|
}: MergeTagsViaUIProps) => Promise<void>;
|
|
5443
5486
|
}
|
|
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
|
+
}
|
|
5444
5519
|
declare const USER_AGENTS: {
|
|
5445
5520
|
windows: string;
|
|
5446
5521
|
mac: string;
|
|
@@ -6867,6 +6942,7 @@ declare const HELP_CENTER_SELECTORS: {
|
|
|
6867
6942
|
subscriptionPlan: string;
|
|
6868
6943
|
};
|
|
6869
6944
|
declare const NEETO_IMAGE_UPLOADER_SELECTORS: {
|
|
6945
|
+
libraryImageCard: string;
|
|
6870
6946
|
imageUploaderWrapper: string;
|
|
6871
6947
|
browseText: string;
|
|
6872
6948
|
fileInput: string;
|
|
@@ -8960,5 +9036,5 @@ interface Overrides {
|
|
|
8960
9036
|
* @endexample
|
|
8961
9037
|
*/
|
|
8962
9038
|
declare const definePlaywrightConfig: (overrides: Overrides) => PlaywrightTestConfig<{}, {}>;
|
|
8963
|
-
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, 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_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, 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 };
|
|
8964
|
-
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, IntroPageThemeStyle, IntroPageThemeStyleType, ProjectName, ThemeCategory, ValueOf };
|
|
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 };
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { keysToSnakeCase, hyphenate, isNotPresent, humanize,
|
|
1
|
+
import { keysToSnakeCase, isPresent, hyphenate, isNotPresent, humanize, dynamicArray, findBy, truncate, isNotEmpty, isNotEqualDeep, randomPick } from '@bigbinary/neeto-cist';
|
|
2
2
|
import { faker } from '@faker-js/faker';
|
|
3
3
|
import * as fs$4 from 'fs';
|
|
4
4
|
import fs__default, { readFileSync, promises, existsSync, writeFileSync, unlinkSync } from 'fs';
|
|
@@ -19,9 +19,9 @@ import require$$1$3 from 'node:stream';
|
|
|
19
19
|
import require$$0$8 from 'crypto';
|
|
20
20
|
import require$$1$4 from 'zlib';
|
|
21
21
|
import require$$0$9 from 'assert';
|
|
22
|
-
import require$$
|
|
22
|
+
import require$$1$5 from 'tty';
|
|
23
23
|
import stealth$1 from 'puppeteer-extra-plugin-stealth';
|
|
24
|
-
import require$$1$
|
|
24
|
+
import require$$1$6 from 'events';
|
|
25
25
|
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
26
26
|
import timezone from 'dayjs/plugin/timezone';
|
|
27
27
|
import utc from 'dayjs/plugin/utc';
|
|
@@ -226,6 +226,25 @@ class MemberApis {
|
|
|
226
226
|
});
|
|
227
227
|
}
|
|
228
228
|
|
|
229
|
+
const NEETO_EMAIL_DELIVERY_TESTING_BASE_URL = "/neeto_email_delivery/api/v1/testing";
|
|
230
|
+
class NeetoEmailDeliveryApi {
|
|
231
|
+
neetoPlaywrightUtilities;
|
|
232
|
+
constructor(neetoPlaywrightUtilities) {
|
|
233
|
+
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
234
|
+
}
|
|
235
|
+
connect = (payload) => this.neetoPlaywrightUtilities.apiRequest({
|
|
236
|
+
method: "post",
|
|
237
|
+
url: `${NEETO_EMAIL_DELIVERY_TESTING_BASE_URL}/connect`,
|
|
238
|
+
body: {
|
|
239
|
+
connect: keysToSnakeCase(payload),
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
verifyEmail = (params) => this.neetoPlaywrightUtilities.apiRequest({
|
|
243
|
+
url: `${NEETO_EMAIL_DELIVERY_TESTING_BASE_URL}/verify_email`,
|
|
244
|
+
params: keysToSnakeCase(params),
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
|
|
229
248
|
class RailsEmailApiClient {
|
|
230
249
|
port = process.env.RAILS_SERVER_PORT;
|
|
231
250
|
subdomain = process.env.SUBDOMAIN ?? "spinkart";
|
|
@@ -375,6 +394,7 @@ const ENVIRONMENT = {
|
|
|
375
394
|
const EXAMPLE_URL = "https://example.com";
|
|
376
395
|
const IS_STAGING_ENV = process.env.TEST_ENV === ENVIRONMENT.staging;
|
|
377
396
|
const IS_DEV_ENV = process.env.TEST_ENV === ENVIRONMENT.development;
|
|
397
|
+
const IS_CI = isPresent(process.env.NEETO_CI_JOB_ID);
|
|
378
398
|
const DEFAULT_WEBHOOKS_RESPONSE_TEXT = JSON.stringify({ success: true });
|
|
379
399
|
const STORAGE_STATE = "./e2e/auth/user.json";
|
|
380
400
|
const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/translations/en.json";
|
|
@@ -5093,8 +5113,8 @@ const skipTest = {
|
|
|
5093
5113
|
forNonNightlyRun: () => {
|
|
5094
5114
|
const currentBranch = execCommand("git rev-parse --abbrev-ref HEAD");
|
|
5095
5115
|
const isNightlyRun = currentBranch === "main" &&
|
|
5096
|
-
|
|
5097
|
-
|
|
5116
|
+
IS_STAGING_ENV &&
|
|
5117
|
+
IS_CI;
|
|
5098
5118
|
return test.skip(not(isNightlyRun), "Run test only in playwright-nightly");
|
|
5099
5119
|
},
|
|
5100
5120
|
ifNotWithinAllowedNightlyHours: ({ reason, allowedNightlyRunHours = [0, 6, 12, 18], }) => {
|
|
@@ -5373,6 +5393,7 @@ const HELP_CENTER_SELECTORS = {
|
|
|
5373
5393
|
};
|
|
5374
5394
|
|
|
5375
5395
|
const NEETO_IMAGE_UPLOADER_SELECTORS = {
|
|
5396
|
+
libraryImageCard: "library-image-card",
|
|
5376
5397
|
imageUploaderWrapper: "image-uploader-wrapper",
|
|
5377
5398
|
browseText: "neeto-image-uploader-browse-text",
|
|
5378
5399
|
fileInput: "neeto-image-uploader-file-input",
|
|
@@ -107219,7 +107240,7 @@ const STATIC_ASSET_PATTERN = /\.(js|css|woff2?|ttf|eot|png|svg|ico|gif|webp)(\?.
|
|
|
107219
107240
|
const assetCache = new Map();
|
|
107220
107241
|
const commands = {
|
|
107221
107242
|
context: async ({ context }, use) => {
|
|
107222
|
-
if (IS_DEV_ENV) {
|
|
107243
|
+
if (IS_DEV_ENV && IS_CI) {
|
|
107223
107244
|
await context.route(STATIC_ASSET_PATTERN, async (route) => {
|
|
107224
107245
|
const url = route.request().url();
|
|
107225
107246
|
const hit = assetCache.get(url);
|
|
@@ -108016,12 +108037,12 @@ var hasRequiredHasFlag;
|
|
|
108016
108037
|
function requireHasFlag () {
|
|
108017
108038
|
if (hasRequiredHasFlag) return hasFlag;
|
|
108018
108039
|
hasRequiredHasFlag = 1;
|
|
108019
|
-
|
|
108020
|
-
|
|
108040
|
+
|
|
108041
|
+
hasFlag = (flag, argv = process.argv) => {
|
|
108021
108042
|
const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');
|
|
108022
|
-
const
|
|
108023
|
-
const
|
|
108024
|
-
return
|
|
108043
|
+
const position = argv.indexOf(prefix + flag);
|
|
108044
|
+
const terminatorPosition = argv.indexOf('--');
|
|
108045
|
+
return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
|
|
108025
108046
|
};
|
|
108026
108047
|
return hasFlag;
|
|
108027
108048
|
}
|
|
@@ -108033,23 +108054,32 @@ function requireSupportsColor () {
|
|
|
108033
108054
|
if (hasRequiredSupportsColor) return supportsColor_1;
|
|
108034
108055
|
hasRequiredSupportsColor = 1;
|
|
108035
108056
|
const os = require$$0$4;
|
|
108057
|
+
const tty = require$$1$5;
|
|
108036
108058
|
const hasFlag = requireHasFlag();
|
|
108037
108059
|
|
|
108038
|
-
const env = process
|
|
108060
|
+
const {env} = process;
|
|
108039
108061
|
|
|
108040
108062
|
let forceColor;
|
|
108041
108063
|
if (hasFlag('no-color') ||
|
|
108042
108064
|
hasFlag('no-colors') ||
|
|
108043
|
-
hasFlag('color=false')
|
|
108044
|
-
|
|
108065
|
+
hasFlag('color=false') ||
|
|
108066
|
+
hasFlag('color=never')) {
|
|
108067
|
+
forceColor = 0;
|
|
108045
108068
|
} else if (hasFlag('color') ||
|
|
108046
108069
|
hasFlag('colors') ||
|
|
108047
108070
|
hasFlag('color=true') ||
|
|
108048
108071
|
hasFlag('color=always')) {
|
|
108049
|
-
forceColor =
|
|
108072
|
+
forceColor = 1;
|
|
108050
108073
|
}
|
|
108074
|
+
|
|
108051
108075
|
if ('FORCE_COLOR' in env) {
|
|
108052
|
-
|
|
108076
|
+
if (env.FORCE_COLOR === 'true') {
|
|
108077
|
+
forceColor = 1;
|
|
108078
|
+
} else if (env.FORCE_COLOR === 'false') {
|
|
108079
|
+
forceColor = 0;
|
|
108080
|
+
} else {
|
|
108081
|
+
forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
|
|
108082
|
+
}
|
|
108053
108083
|
}
|
|
108054
108084
|
|
|
108055
108085
|
function translateLevel(level) {
|
|
@@ -108065,8 +108095,8 @@ function requireSupportsColor () {
|
|
|
108065
108095
|
};
|
|
108066
108096
|
}
|
|
108067
108097
|
|
|
108068
|
-
function supportsColor(
|
|
108069
|
-
if (forceColor ===
|
|
108098
|
+
function supportsColor(haveStream, streamIsTTY) {
|
|
108099
|
+
if (forceColor === 0) {
|
|
108070
108100
|
return 0;
|
|
108071
108101
|
}
|
|
108072
108102
|
|
|
@@ -108080,22 +108110,21 @@ function requireSupportsColor () {
|
|
|
108080
108110
|
return 2;
|
|
108081
108111
|
}
|
|
108082
108112
|
|
|
108083
|
-
if (
|
|
108113
|
+
if (haveStream && !streamIsTTY && forceColor === undefined) {
|
|
108084
108114
|
return 0;
|
|
108085
108115
|
}
|
|
108086
108116
|
|
|
108087
|
-
const min = forceColor
|
|
108117
|
+
const min = forceColor || 0;
|
|
108118
|
+
|
|
108119
|
+
if (env.TERM === 'dumb') {
|
|
108120
|
+
return min;
|
|
108121
|
+
}
|
|
108088
108122
|
|
|
108089
108123
|
if (process.platform === 'win32') {
|
|
108090
|
-
//
|
|
108091
|
-
//
|
|
108092
|
-
// won't work. However, here we target Node.js 8 at minimum as it is an LTS
|
|
108093
|
-
// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
|
|
108094
|
-
// release that supports 256 colors. Windows 10 build 14931 is the first release
|
|
108095
|
-
// that supports 16m/TrueColor.
|
|
108124
|
+
// Windows 10 build 10586 is the first Windows release that supports 256 colors.
|
|
108125
|
+
// Windows 10 build 14931 is the first release that supports 16m/TrueColor.
|
|
108096
108126
|
const osRelease = os.release().split('.');
|
|
108097
108127
|
if (
|
|
108098
|
-
Number(process.versions.node.split('.')[0]) >= 8 &&
|
|
108099
108128
|
Number(osRelease[0]) >= 10 &&
|
|
108100
108129
|
Number(osRelease[2]) >= 10586
|
|
108101
108130
|
) {
|
|
@@ -108106,7 +108135,7 @@ function requireSupportsColor () {
|
|
|
108106
108135
|
}
|
|
108107
108136
|
|
|
108108
108137
|
if ('CI' in env) {
|
|
108109
|
-
if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
|
|
108138
|
+
if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {
|
|
108110
108139
|
return 1;
|
|
108111
108140
|
}
|
|
108112
108141
|
|
|
@@ -108145,22 +108174,18 @@ function requireSupportsColor () {
|
|
|
108145
108174
|
return 1;
|
|
108146
108175
|
}
|
|
108147
108176
|
|
|
108148
|
-
if (env.TERM === 'dumb') {
|
|
108149
|
-
return min;
|
|
108150
|
-
}
|
|
108151
|
-
|
|
108152
108177
|
return min;
|
|
108153
108178
|
}
|
|
108154
108179
|
|
|
108155
108180
|
function getSupportLevel(stream) {
|
|
108156
|
-
const level = supportsColor(stream);
|
|
108181
|
+
const level = supportsColor(stream, stream && stream.isTTY);
|
|
108157
108182
|
return translateLevel(level);
|
|
108158
108183
|
}
|
|
108159
108184
|
|
|
108160
108185
|
supportsColor_1 = {
|
|
108161
108186
|
supportsColor: getSupportLevel,
|
|
108162
|
-
stdout:
|
|
108163
|
-
stderr:
|
|
108187
|
+
stdout: translateLevel(supportsColor(true, tty.isatty(1))),
|
|
108188
|
+
stderr: translateLevel(supportsColor(true, tty.isatty(2)))
|
|
108164
108189
|
};
|
|
108165
108190
|
return supportsColor_1;
|
|
108166
108191
|
}
|
|
@@ -108175,7 +108200,7 @@ function requireNode () {
|
|
|
108175
108200
|
if (hasRequiredNode) return node.exports;
|
|
108176
108201
|
hasRequiredNode = 1;
|
|
108177
108202
|
(function (module, exports$1) {
|
|
108178
|
-
const tty = require$$
|
|
108203
|
+
const tty = require$$1$5;
|
|
108179
108204
|
const util = require$$0$3;
|
|
108180
108205
|
|
|
108181
108206
|
/**
|
|
@@ -115511,7 +115536,7 @@ function requireAsync$3 () {
|
|
|
115511
115536
|
if (hasRequiredAsync$3) return async$2;
|
|
115512
115537
|
hasRequiredAsync$3 = 1;
|
|
115513
115538
|
Object.defineProperty(async$2, "__esModule", { value: true });
|
|
115514
|
-
const events_1 = require$$1$
|
|
115539
|
+
const events_1 = require$$1$6;
|
|
115515
115540
|
const fsScandir = requireOut$2();
|
|
115516
115541
|
const fastq = requireQueue();
|
|
115517
115542
|
const common = requireCommon();
|
|
@@ -120972,9 +120997,6 @@ class CustomDomainPage {
|
|
|
120972
120997
|
]);
|
|
120973
120998
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
120974
120999
|
await validateButton.click();
|
|
120975
|
-
await expect
|
|
120976
|
-
.soft(this.page.getByTestId(COMMON_SELECTORS.calloutElement))
|
|
120977
|
-
.toBeVisible({ timeout: 15_000 });
|
|
120978
121000
|
let isCertificateLimitExceeded = false;
|
|
120979
121001
|
await expect(async () => {
|
|
120980
121002
|
isCertificateLimitExceeded = await this.isCertificateLimitExceeded();
|
|
@@ -121440,6 +121462,70 @@ class TagsPage {
|
|
|
121440
121462
|
};
|
|
121441
121463
|
}
|
|
121442
121464
|
|
|
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
|
+
|
|
121443
121529
|
const USER_AGENTS = {
|
|
121444
121530
|
windows: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
|
|
121445
121531
|
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",
|
|
@@ -125787,7 +125873,6 @@ const playdashProductionHealthConfig = {
|
|
|
125787
125873
|
ciBuildId: process.env.NEETO_CI_JOB_ID,
|
|
125788
125874
|
tags: process.env.TAG,
|
|
125789
125875
|
};
|
|
125790
|
-
const isCI = isPresent(process.env.NEETO_CI_JOB_ID);
|
|
125791
125876
|
const railsPort = process.env.RAILS_SERVER_PORT;
|
|
125792
125877
|
const vitePort = process.env.VITE_PORT;
|
|
125793
125878
|
const PROJECT_NAMES = {
|
|
@@ -125851,18 +125936,18 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
125851
125936
|
return defineConfig({
|
|
125852
125937
|
testDir: "./e2e/tests",
|
|
125853
125938
|
fullyParallel: true,
|
|
125854
|
-
forbidOnly:
|
|
125855
|
-
retries:
|
|
125939
|
+
forbidOnly: IS_CI,
|
|
125940
|
+
retries: IS_CI ? 1 : 0,
|
|
125856
125941
|
timeout: 5 * 60 * 1000,
|
|
125857
|
-
workers:
|
|
125858
|
-
reporter:
|
|
125942
|
+
workers: IS_CI ? 6 : 5,
|
|
125943
|
+
reporter: IS_CI ? reporter : [["line"]],
|
|
125859
125944
|
...(specPatterns && { testMatch: specPatterns }),
|
|
125860
125945
|
...(IS_DEV_ENV && {
|
|
125861
125946
|
webServer: [
|
|
125862
125947
|
{
|
|
125863
125948
|
command: `bundle exec puma -b tcp://0.0.0.0:${railsPort} -C config/puma.rb`,
|
|
125864
125949
|
url: `http://spinkart.lvh.me:${railsPort}`,
|
|
125865
|
-
reuseExistingServer: !
|
|
125950
|
+
reuseExistingServer: !IS_CI,
|
|
125866
125951
|
timeout: 5 * 60 * 1000,
|
|
125867
125952
|
cwd: "..",
|
|
125868
125953
|
env: { ...process.env, PORT: railsPort ?? "" },
|
|
@@ -125870,7 +125955,7 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
125870
125955
|
{
|
|
125871
125956
|
command: "yarn dev --host",
|
|
125872
125957
|
url: `http://127.0.0.1:${vitePort}/@vite/client`,
|
|
125873
|
-
reuseExistingServer: !
|
|
125958
|
+
reuseExistingServer: !IS_CI,
|
|
125874
125959
|
timeout: 2 * 60 * 1000,
|
|
125875
125960
|
cwd: "..",
|
|
125876
125961
|
},
|
|
@@ -125963,5 +126048,5 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
125963
126048
|
});
|
|
125964
126049
|
};
|
|
125965
126050
|
|
|
125966
|
-
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, 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_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, 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, 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 };
|
|
125967
126052
|
//# sourceMappingURL=index.js.map
|