@bigbinary/neeto-playwright-commons 1.26.13 → 1.26.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +148 -61
- package/index.cjs.js.map +1 -1
- package/index.d.ts +79 -22
- package/index.js +147 -63
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -2519,6 +2519,9 @@ declare class WebhooksPage {
|
|
|
2519
2519
|
webhookToken: never;
|
|
2520
2520
|
webhookSiteURL: string;
|
|
2521
2521
|
}>;
|
|
2522
|
+
/**
|
|
2523
|
+
* @deprecated This method is deprecated. Use getTokenViaAPI instead.
|
|
2524
|
+
*/
|
|
2522
2525
|
/**
|
|
2523
2526
|
*
|
|
2524
2527
|
* Retrieves the webhook URL and token from a third-party site.
|
|
@@ -3315,6 +3318,18 @@ declare const EXAMPLE_URL = "https://example.com";
|
|
|
3315
3318
|
* @endexample
|
|
3316
3319
|
*/
|
|
3317
3320
|
declare const IS_STAGING_ENV: boolean;
|
|
3321
|
+
/**
|
|
3322
|
+
*
|
|
3323
|
+
* Boolean value indicating whether the current environment is development.
|
|
3324
|
+
*
|
|
3325
|
+
* @example
|
|
3326
|
+
*
|
|
3327
|
+
* if(IS_DEV_ENV){
|
|
3328
|
+
* // Perform actions specific to the development environment
|
|
3329
|
+
* }
|
|
3330
|
+
* @endexample
|
|
3331
|
+
*/
|
|
3332
|
+
declare const IS_DEV_ENV: boolean;
|
|
3318
3333
|
/**
|
|
3319
3334
|
*
|
|
3320
3335
|
* Path to the JSON file for storing authentication data.
|
|
@@ -3335,13 +3350,16 @@ declare const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/trans
|
|
|
3335
3350
|
declare const PROJECT_TRANSLATIONS_PATH = "../app/javascript/src/translations/en.json";
|
|
3336
3351
|
/**
|
|
3337
3352
|
*
|
|
3338
|
-
* Default credentials for testing purposes.
|
|
3353
|
+
* Default credentials for testing purposes for development env.
|
|
3339
3354
|
*
|
|
3340
3355
|
*/
|
|
3341
3356
|
declare const CREDENTIALS: {
|
|
3357
|
+
firstName: string;
|
|
3358
|
+
lastName: string;
|
|
3342
3359
|
name: string;
|
|
3343
3360
|
email: string;
|
|
3344
3361
|
password: string;
|
|
3362
|
+
subdomainName: string;
|
|
3345
3363
|
};
|
|
3346
3364
|
/**
|
|
3347
3365
|
*
|
|
@@ -3893,7 +3911,7 @@ interface BasicUserInfo {
|
|
|
3893
3911
|
email: string;
|
|
3894
3912
|
country?: string;
|
|
3895
3913
|
}
|
|
3896
|
-
interface CreateOrganizationProps extends BasicUserInfo {
|
|
3914
|
+
interface CreateOrganizationProps$1 extends BasicUserInfo {
|
|
3897
3915
|
businessName: string;
|
|
3898
3916
|
subdomainName: string;
|
|
3899
3917
|
appName: string;
|
|
@@ -3923,20 +3941,6 @@ declare class OrganizationPage {
|
|
|
3923
3941
|
page: Page;
|
|
3924
3942
|
neetoPlaywrightUtilities: CustomCommands;
|
|
3925
3943
|
constructor(page: Page, neetoPlaywrightUtilities: CustomCommands);
|
|
3926
|
-
/**
|
|
3927
|
-
*
|
|
3928
|
-
* Used to generate the subdomain URL. It takes the following parameters:
|
|
3929
|
-
*
|
|
3930
|
-
* appName(required): Name of the app.
|
|
3931
|
-
*
|
|
3932
|
-
* @example
|
|
3933
|
-
*
|
|
3934
|
-
* const domain = organizationPage.baseUrlGenerator(appName)
|
|
3935
|
-
* console.log(domain) // https://${subdomainName}.${appName}.net
|
|
3936
|
-
* // "subdomainName" is the loggedIn user name
|
|
3937
|
-
* @endexample
|
|
3938
|
-
*/
|
|
3939
|
-
baseUrlGenerator: (appName: string) => string;
|
|
3940
3944
|
private fillOTP;
|
|
3941
3945
|
private submitEmail;
|
|
3942
3946
|
/**
|
|
@@ -3974,7 +3978,7 @@ declare class OrganizationPage {
|
|
|
3974
3978
|
firstName,
|
|
3975
3979
|
lastName,
|
|
3976
3980
|
appName
|
|
3977
|
-
}: CreateOrganizationProps) => Promise<void>;
|
|
3981
|
+
}: CreateOrganizationProps$1) => Promise<void>;
|
|
3978
3982
|
/**
|
|
3979
3983
|
*
|
|
3980
3984
|
* Used to set up an Organization. Works only with staging env. It takes the following parameters:
|
|
@@ -7750,7 +7754,13 @@ interface LoginProps {
|
|
|
7750
7754
|
*/
|
|
7751
7755
|
neetoPlaywrightUtilities?: CustomCommands;
|
|
7752
7756
|
loginPath?: string;
|
|
7757
|
+
email?: string;
|
|
7753
7758
|
}
|
|
7759
|
+
declare const fillCredentialsAndSubmit: ({
|
|
7760
|
+
page,
|
|
7761
|
+
loginPath,
|
|
7762
|
+
email
|
|
7763
|
+
}: LoginProps) => Promise<void>;
|
|
7754
7764
|
/**
|
|
7755
7765
|
*
|
|
7756
7766
|
* Used to login by using email and password. It takes the following parameters:
|
|
@@ -7768,8 +7778,8 @@ interface LoginProps {
|
|
|
7768
7778
|
*/
|
|
7769
7779
|
declare const loginWithoutSSO: ({
|
|
7770
7780
|
page,
|
|
7771
|
-
|
|
7772
|
-
|
|
7781
|
+
loginPath,
|
|
7782
|
+
email
|
|
7773
7783
|
}: LoginProps) => Promise<void>;
|
|
7774
7784
|
/**
|
|
7775
7785
|
*
|
|
@@ -7789,7 +7799,8 @@ declare const loginWithoutSSO: ({
|
|
|
7789
7799
|
declare const login: ({
|
|
7790
7800
|
page,
|
|
7791
7801
|
neetoPlaywrightUtilities,
|
|
7792
|
-
loginPath
|
|
7802
|
+
loginPath,
|
|
7803
|
+
email
|
|
7793
7804
|
}: LoginProps) => Promise<false | void>;
|
|
7794
7805
|
/**
|
|
7795
7806
|
*
|
|
@@ -7811,10 +7822,56 @@ declare const generateRandomBypassEmail: () => string;
|
|
|
7811
7822
|
*
|
|
7812
7823
|
* @example
|
|
7813
7824
|
*
|
|
7814
|
-
*
|
|
7825
|
+
* extractSubdomainFromError("https://wwww.bb.neetoChat.com"); // bb
|
|
7815
7826
|
* @endexample
|
|
7816
7827
|
*/
|
|
7817
7828
|
declare const extractSubdomainFromError: (errorString: string) => string;
|
|
7829
|
+
interface CreateOrganizationProps {
|
|
7830
|
+
email: string;
|
|
7831
|
+
firstName: string;
|
|
7832
|
+
lastName: string;
|
|
7833
|
+
subdomainName: string;
|
|
7834
|
+
}
|
|
7835
|
+
/**
|
|
7836
|
+
*
|
|
7837
|
+
* Creates an organization via a rake task. This method executes the
|
|
7838
|
+
*
|
|
7839
|
+
* playwright:create_organization rake task asynchronously and returns the
|
|
7840
|
+
*
|
|
7841
|
+
* output. It takes the following parameters:
|
|
7842
|
+
*
|
|
7843
|
+
* email: The email address for the organization owner.
|
|
7844
|
+
*
|
|
7845
|
+
* firstName: The first name of the organization owner.
|
|
7846
|
+
*
|
|
7847
|
+
* lastName: The last name of the organization owner.
|
|
7848
|
+
*
|
|
7849
|
+
* subdomainName: The subdomain name for the organization.
|
|
7850
|
+
*
|
|
7851
|
+
* A Promise that resolves to a string containing the rake task output.
|
|
7852
|
+
*
|
|
7853
|
+
* @example
|
|
7854
|
+
*
|
|
7855
|
+
* import { createOrganizationViaRake } from "@bigbinary/neeto-playwright-commons";
|
|
7856
|
+
*
|
|
7857
|
+
* await createOrganizationViaRake({
|
|
7858
|
+
* email: "user@example.com",
|
|
7859
|
+
* firstName: "John",
|
|
7860
|
+
* lastName: "Doe",
|
|
7861
|
+
* subdomainName: "myorganization",
|
|
7862
|
+
* });
|
|
7863
|
+
* @endexample
|
|
7864
|
+
* Note: The working directory defaults to process.env.RAILS_ROOT or ".." if not set. Make sure the Rails application is available at the specified
|
|
7865
|
+
*
|
|
7866
|
+
* working directory.
|
|
7867
|
+
*
|
|
7868
|
+
*/
|
|
7869
|
+
declare const createOrganizationViaRake: ({
|
|
7870
|
+
email,
|
|
7871
|
+
firstName,
|
|
7872
|
+
lastName,
|
|
7873
|
+
subdomainName
|
|
7874
|
+
}: CreateOrganizationProps) => Promise<string>;
|
|
7818
7875
|
interface AssertColumnHeaderVisibilityProps {
|
|
7819
7876
|
page: Page;
|
|
7820
7877
|
columnName: string;
|
|
@@ -8330,5 +8387,5 @@ interface Overrides {
|
|
|
8330
8387
|
* @endexample
|
|
8331
8388
|
*/
|
|
8332
8389
|
declare const definePlaywrightConfig: (overrides: Overrides) => PlaywrightTestConfig<{}, {}>;
|
|
8333
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
8390
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, fillCredentialsAndSubmit, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
8334
8391
|
export type { BaseThemeStyle, BaseThemeStyleType, CountryProps, CustomFixture, IntroPageThemeStyle, IntroPageThemeStyleType, ThemeCategory, ValueOf };
|
package/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import test, { expect, test as test$1, chromium as chromium$1, defineConfig, dev
|
|
|
9
9
|
import { getI18nInstance, initI18n } from 'playwright-i18next-fixture';
|
|
10
10
|
import require$$0$4 from 'util';
|
|
11
11
|
import { curry, isNotNil, not, isEmpty, pluck, mergeDeepLeft, isNil, mergeAll } from 'ramda';
|
|
12
|
-
import { execSync } from 'child_process';
|
|
12
|
+
import { execSync, spawn } from 'child_process';
|
|
13
13
|
import dayjs from 'dayjs';
|
|
14
14
|
import require$$0$7 from 'stream';
|
|
15
15
|
import { createRequire } from 'node:module';
|
|
@@ -285,14 +285,18 @@ const ENVIRONMENT = {
|
|
|
285
285
|
review: "review",
|
|
286
286
|
};
|
|
287
287
|
const EXAMPLE_URL = "https://example.com";
|
|
288
|
-
const IS_STAGING_ENV = process.env.TEST_ENV ===
|
|
288
|
+
const IS_STAGING_ENV = process.env.TEST_ENV === ENVIRONMENT.staging;
|
|
289
|
+
const IS_DEV_ENV = process.env.TEST_ENV === ENVIRONMENT.development;
|
|
289
290
|
const STORAGE_STATE = "./e2e/auth/user.json";
|
|
290
291
|
const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/translations/en.json";
|
|
291
292
|
const PROJECT_TRANSLATIONS_PATH = "../app/javascript/src/translations/en.json";
|
|
292
293
|
const CREDENTIALS = {
|
|
294
|
+
firstName: "Oliver",
|
|
295
|
+
lastName: "Smith",
|
|
293
296
|
name: "Oliver Smith",
|
|
294
297
|
email: "oliver@example.com",
|
|
295
298
|
password: "welcome",
|
|
299
|
+
subdomainName: "spinkart",
|
|
296
300
|
};
|
|
297
301
|
const OTP_EMAIL_PATTERN = "is your login code";
|
|
298
302
|
const SLACK_DEFAULT_CHANNEL = "general";
|
|
@@ -4829,23 +4833,26 @@ const generateStagingData = (product = "invoice") => {
|
|
|
4829
4833
|
const timestamp = jobCompletionIndex
|
|
4830
4834
|
? `${dateTimeString}-${jobCompletionIndex}`
|
|
4831
4835
|
: dateTimeString;
|
|
4832
|
-
const firstName = "André";
|
|
4833
|
-
const lastName = "O'Reilly";
|
|
4836
|
+
const firstName = IS_STAGING_ENV ? "André" : CREDENTIALS.firstName;
|
|
4837
|
+
const lastName = IS_STAGING_ENV ? "O'Reilly" : CREDENTIALS.lastName;
|
|
4834
4838
|
const otpBypassKey = process.env.OTP_BYPASS_KEY;
|
|
4835
|
-
const
|
|
4839
|
+
const isGlobalSetup = !getGlobalUserState(); // For dev global setup staging data, we use the default subdomain `spinkart`.
|
|
4840
|
+
const shouldKeepDefaultDataForDevEnv = isGlobalSetup && IS_DEV_ENV;
|
|
4841
|
+
const stagingOrganization = shouldKeepDefaultDataForDevEnv
|
|
4842
|
+
? CREDENTIALS.subdomainName
|
|
4843
|
+
: `cpt-${product}-${timestamp}`;
|
|
4844
|
+
const email = shouldKeepDefaultDataForDevEnv
|
|
4845
|
+
? CREDENTIALS.email
|
|
4846
|
+
: `cpt${otpBypassKey}+${product}+${timestamp}@bigbinary.com`;
|
|
4836
4847
|
return {
|
|
4837
4848
|
firstName,
|
|
4838
4849
|
lastName,
|
|
4839
4850
|
otp: 111111,
|
|
4840
|
-
domain: `neeto${product}.net`,
|
|
4841
|
-
currentUserName:
|
|
4842
|
-
? joinString(firstName, lastName)
|
|
4843
|
-
: CREDENTIALS.name,
|
|
4851
|
+
domain: IS_STAGING_ENV ? `neeto${product}.net` : `lvh.me`,
|
|
4852
|
+
currentUserName: joinString(firstName, lastName),
|
|
4844
4853
|
businessName: stagingOrganization,
|
|
4845
|
-
subdomainName:
|
|
4846
|
-
email
|
|
4847
|
-
? `cpt${otpBypassKey}+${product}+${timestamp}@bigbinary.com`
|
|
4848
|
-
: CREDENTIALS.email,
|
|
4854
|
+
subdomainName: stagingOrganization,
|
|
4855
|
+
email,
|
|
4849
4856
|
};
|
|
4850
4857
|
};
|
|
4851
4858
|
|
|
@@ -4886,7 +4893,7 @@ const removeCredentialFile = () => {
|
|
|
4886
4893
|
require$$0$3.unlink(STORAGE_STATE, error => {
|
|
4887
4894
|
if (!error)
|
|
4888
4895
|
return;
|
|
4889
|
-
console.
|
|
4896
|
+
console.log(error);
|
|
4890
4897
|
});
|
|
4891
4898
|
};
|
|
4892
4899
|
const clearCredentials = () => {
|
|
@@ -4935,7 +4942,12 @@ const shouldSkipSetupAndTeardown = () => { var _a; return ((_a = getGlobalUserSt
|
|
|
4935
4942
|
const shouldSkipCustomDomainSetup = () => process.env.SETUP_CUSTOM_DOMAIN !== "true" || !IS_STAGING_ENV;
|
|
4936
4943
|
const baseURLGenerator = (product, customSubdomain) => {
|
|
4937
4944
|
const { subdomainName } = getGlobalUserState();
|
|
4938
|
-
|
|
4945
|
+
const subdomain = customSubdomain !== null && customSubdomain !== void 0 ? customSubdomain : subdomainName;
|
|
4946
|
+
const railsPort = process.env.RAILS_SERVER_PORT;
|
|
4947
|
+
const baseURL = IS_DEV_ENV
|
|
4948
|
+
? `http://${subdomain}.lvh.me:${railsPort}`
|
|
4949
|
+
: `https://${subdomain}.neeto${product.toLowerCase()}.net`;
|
|
4950
|
+
return baseURL;
|
|
4939
4951
|
};
|
|
4940
4952
|
// trims and replaces multiple whitespace characters in a string with a single space
|
|
4941
4953
|
const squish = (text) => text.trim().replace(/\s+/g, " ");
|
|
@@ -5015,7 +5027,7 @@ const globalShortcuts = (t) => [
|
|
|
5015
5027
|
const generatePhoneNumber = () => `${"+91"} 9${faker.string.numeric(4)} ${faker.string.numeric(5)}`;
|
|
5016
5028
|
const initializeTestData = (product) => {
|
|
5017
5029
|
const credentials = generateStagingData(product.toLowerCase());
|
|
5018
|
-
const baseURL =
|
|
5030
|
+
const baseURL = baseURLGenerator(product, credentials.subdomainName);
|
|
5019
5031
|
return { credentials, baseURL };
|
|
5020
5032
|
};
|
|
5021
5033
|
|
|
@@ -116651,7 +116663,7 @@ class MicrosoftPage extends IntegrationBase {
|
|
|
116651
116663
|
const acceptBtn = this.page.locator(MICROSOFT_LOGIN_SELECTORS.acceptButton);
|
|
116652
116664
|
await acceptBtn.click();
|
|
116653
116665
|
await expect(acceptBtn).toBeHidden({ timeout: 10000 });
|
|
116654
|
-
await this.page.waitForLoadState("load", { timeout:
|
|
116666
|
+
await this.page.waitForLoadState("load", { timeout: 50000 });
|
|
116655
116667
|
};
|
|
116656
116668
|
this.revokePermissions = async () => {
|
|
116657
116669
|
await this.page.goto(THIRD_PARTY_ROUTES.microsoft.myApps);
|
|
@@ -116874,6 +116886,9 @@ class WebhooksPage {
|
|
|
116874
116886
|
webhookSiteURL: `${THIRD_PARTY_ROUTES.webhooks.site}${webhookToken}`,
|
|
116875
116887
|
};
|
|
116876
116888
|
};
|
|
116889
|
+
/**
|
|
116890
|
+
* @deprecated This method is deprecated. Use getTokenViaAPI instead.
|
|
116891
|
+
*/
|
|
116877
116892
|
this.getWebhookURL = async () => {
|
|
116878
116893
|
var _a;
|
|
116879
116894
|
const WEBHOOK_URL_REGEX = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/g;
|
|
@@ -118478,30 +118493,30 @@ class TeamMembers {
|
|
|
118478
118493
|
}
|
|
118479
118494
|
}
|
|
118480
118495
|
|
|
118481
|
-
const
|
|
118482
|
-
|
|
118483
|
-
neetoPlaywrightUtilities, loginPath = "/", }) => {
|
|
118484
|
-
if (shouldSkipSetupAndTeardown())
|
|
118485
|
-
return;
|
|
118486
|
-
await page.goto(loginPath, { timeout: 20000 });
|
|
118496
|
+
const fillCredentialsAndSubmit = async ({ page, loginPath, email = CREDENTIALS.email, }) => {
|
|
118497
|
+
loginPath && (await page.goto(loginPath, { timeout: 30000 }));
|
|
118487
118498
|
await page.waitForLoadState("load", { timeout: 35000 });
|
|
118488
|
-
await page
|
|
118489
|
-
.getByTestId(LOGIN_SELECTORS.emailTextField)
|
|
118490
|
-
.fill(CREDENTIALS.email);
|
|
118499
|
+
await page.getByTestId(LOGIN_SELECTORS.emailTextField).fill(email);
|
|
118491
118500
|
await page
|
|
118492
118501
|
.getByTestId(LOGIN_SELECTORS.passwordTextField)
|
|
118493
118502
|
.fill(CREDENTIALS.password);
|
|
118494
118503
|
const submitButton = page.getByTestId(LOGIN_SELECTORS.submitButton);
|
|
118495
118504
|
await submitButton.click();
|
|
118496
118505
|
await expect(submitButton).toBeHidden({ timeout: 15000 });
|
|
118506
|
+
await expect(page.getByTestId(COMMON_SELECTORS.floatingActionMenuButton)).toBeVisible({ timeout: 60000 });
|
|
118507
|
+
};
|
|
118508
|
+
const loginWithoutSSO = async ({ page, loginPath = "/", email = CREDENTIALS.email, }) => {
|
|
118509
|
+
if (shouldSkipSetupAndTeardown())
|
|
118510
|
+
return;
|
|
118511
|
+
await fillCredentialsAndSubmit({ page, loginPath, email });
|
|
118497
118512
|
const userCredentials = readFileSyncIfExists();
|
|
118498
118513
|
await page.context().storageState({ path: STORAGE_STATE });
|
|
118499
118514
|
const mergedCredentials = mergeAll([readFileSyncIfExists(), userCredentials]);
|
|
118500
118515
|
writeDataToFile(JSON.stringify(mergedCredentials, null, 2));
|
|
118501
118516
|
updateCredentials({ key: "isLoggedIn", value: "true" });
|
|
118502
118517
|
};
|
|
118503
|
-
const login = async ({ page, neetoPlaywrightUtilities, loginPath, }) =>
|
|
118504
|
-
(await loginWithoutSSO({ page,
|
|
118518
|
+
const login = async ({ page, neetoPlaywrightUtilities, loginPath, email, }) => IS_DEV_ENV &&
|
|
118519
|
+
(await loginWithoutSSO({ page, loginPath, email }));
|
|
118505
118520
|
const generateRandomBypassEmail = () => `cpt${process.env.OTP_BYPASS_KEY}+${faker.number.int()}@bigbinary.com`;
|
|
118506
118521
|
|
|
118507
118522
|
const extractSubdomainFromError = (errorString) => {
|
|
@@ -118509,13 +118524,43 @@ const extractSubdomainFromError = (errorString) => {
|
|
|
118509
118524
|
const matches = errorString.match(regex);
|
|
118510
118525
|
return matches[1];
|
|
118511
118526
|
};
|
|
118527
|
+
const createOrganizationViaRake = async ({ email, firstName, lastName, subdomainName, }) => {
|
|
118528
|
+
var _a, _b;
|
|
118529
|
+
const workingDirectory = process.env.RAILS_ROOT || "..";
|
|
118530
|
+
const rakeTaskName = "playwright:create_organization";
|
|
118531
|
+
const childProcess = spawn("bundle", [
|
|
118532
|
+
"exec",
|
|
118533
|
+
"rake",
|
|
118534
|
+
rakeTaskName,
|
|
118535
|
+
"--",
|
|
118536
|
+
`--first_name=${firstName}`,
|
|
118537
|
+
`--last_name=${lastName}`,
|
|
118538
|
+
`--email=${email}`,
|
|
118539
|
+
`--subdomain=${subdomainName}`,
|
|
118540
|
+
], {
|
|
118541
|
+
cwd: workingDirectory,
|
|
118542
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
118543
|
+
});
|
|
118544
|
+
let stdout = "";
|
|
118545
|
+
let stderr = "";
|
|
118546
|
+
(_a = childProcess.stdout) === null || _a === void 0 ? void 0 : _a.on("data", data => {
|
|
118547
|
+
stdout += data.toString("utf-8");
|
|
118548
|
+
});
|
|
118549
|
+
(_b = childProcess.stderr) === null || _b === void 0 ? void 0 : _b.on("data", data => {
|
|
118550
|
+
stderr += data.toString("utf-8");
|
|
118551
|
+
});
|
|
118552
|
+
const exitCode = await new Promise((resolve, reject) => {
|
|
118553
|
+
childProcess.on("error", reject);
|
|
118554
|
+
childProcess.on("close", resolve);
|
|
118555
|
+
});
|
|
118556
|
+
if (exitCode !== 0) {
|
|
118557
|
+
throw new Error(`Failed to create organization: ${stderr || stdout || `Exit code ${exitCode}`}`);
|
|
118558
|
+
}
|
|
118559
|
+
return stdout.trim();
|
|
118560
|
+
};
|
|
118512
118561
|
|
|
118513
118562
|
class OrganizationPage {
|
|
118514
118563
|
constructor(page, neetoPlaywrightUtilities) {
|
|
118515
|
-
this.baseUrlGenerator = (appName) => {
|
|
118516
|
-
const { subdomainName } = getGlobalUserState();
|
|
118517
|
-
return `https://${subdomainName}.${appName}.net`;
|
|
118518
|
-
};
|
|
118519
118564
|
this.fillOTP = async (otp = faker.string.numeric(6)) => {
|
|
118520
118565
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
118521
118566
|
const otpTextBox = this.page.getByTestId(SIGNUP_SELECTORS.otpTextBox);
|
|
@@ -118530,8 +118575,17 @@ class OrganizationPage {
|
|
|
118530
118575
|
await expect(submitButton).toBeHidden({ timeout: 35000 });
|
|
118531
118576
|
};
|
|
118532
118577
|
this.createOrganization = async ({ email, businessName, subdomainName, firstName, lastName, appName, }) => {
|
|
118533
|
-
if (
|
|
118578
|
+
if (shouldSkipSetupAndTeardown())
|
|
118579
|
+
return;
|
|
118580
|
+
if (IS_DEV_ENV) {
|
|
118581
|
+
await createOrganizationViaRake({
|
|
118582
|
+
email,
|
|
118583
|
+
firstName,
|
|
118584
|
+
lastName,
|
|
118585
|
+
subdomainName,
|
|
118586
|
+
});
|
|
118534
118587
|
return;
|
|
118588
|
+
}
|
|
118535
118589
|
const appNameInLowerCase = appName.toLowerCase();
|
|
118536
118590
|
const isNeetoAuth = appNameInLowerCase === "neetoauth";
|
|
118537
118591
|
isNeetoAuth
|
|
@@ -118567,7 +118621,9 @@ class OrganizationPage {
|
|
|
118567
118621
|
subdomainName: user.subdomainName,
|
|
118568
118622
|
appName: `neeto${product}`,
|
|
118569
118623
|
});
|
|
118570
|
-
await
|
|
118624
|
+
await this.neetoPlaywrightUtilities.waitForPageLoad({
|
|
118625
|
+
customPageContext: this.page,
|
|
118626
|
+
});
|
|
118571
118627
|
const userCredentials = readFileSyncIfExists();
|
|
118572
118628
|
await this.page.context().storageState({ path: STORAGE_STATE });
|
|
118573
118629
|
const mergedCredentials = mergeAll([
|
|
@@ -118578,7 +118634,7 @@ class OrganizationPage {
|
|
|
118578
118634
|
updateCredentials({ key: "isLoggedIn", value: "true" });
|
|
118579
118635
|
updateCredentials({
|
|
118580
118636
|
key: "baseUrl",
|
|
118581
|
-
value:
|
|
118637
|
+
value: baseURLGenerator(product),
|
|
118582
118638
|
});
|
|
118583
118639
|
};
|
|
118584
118640
|
this.updateSubdomainIfExists = async (appName) => {
|
|
@@ -118600,7 +118656,7 @@ class OrganizationPage {
|
|
|
118600
118656
|
key: "businessName",
|
|
118601
118657
|
value: newOrganizationName,
|
|
118602
118658
|
});
|
|
118603
|
-
process.env.BASE_URL =
|
|
118659
|
+
process.env.BASE_URL = baseURLGenerator(appName);
|
|
118604
118660
|
await this.page
|
|
118605
118661
|
.getByTestId(SIGNUP_SELECTORS.organizationNameTextField)
|
|
118606
118662
|
.fill(newOrganizationName);
|
|
@@ -118622,6 +118678,10 @@ class OrganizationPage {
|
|
|
118622
118678
|
}).toPass({ timeout: loginTimeout });
|
|
118623
118679
|
};
|
|
118624
118680
|
this.loginViaSSO = async (email = generateRandomBypassEmail(), loginTimeout = 2 * 60 * 1000) => {
|
|
118681
|
+
if (IS_DEV_ENV) {
|
|
118682
|
+
await fillCredentialsAndSubmit({ page: this.page, email });
|
|
118683
|
+
return;
|
|
118684
|
+
}
|
|
118625
118685
|
await this.fillEmailAndSubmit(email, loginTimeout);
|
|
118626
118686
|
await this.fillOTP();
|
|
118627
118687
|
};
|
|
@@ -118631,6 +118691,8 @@ class OrganizationPage {
|
|
|
118631
118691
|
await this.fillOTP(otp);
|
|
118632
118692
|
};
|
|
118633
118693
|
this.setupProfile = async ({ firstName = faker.person.firstName(), lastName = faker.person.lastName(), country, } = {}) => {
|
|
118694
|
+
if (IS_DEV_ENV)
|
|
118695
|
+
return;
|
|
118634
118696
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
118635
118697
|
await this.page
|
|
118636
118698
|
.getByTestId(SIGNUP_SELECTORS.firstNameTextField)
|
|
@@ -118648,36 +118710,62 @@ class OrganizationPage {
|
|
|
118648
118710
|
});
|
|
118649
118711
|
};
|
|
118650
118712
|
this.loginAndOnboard = async ({ email, firstName, lastName, country, handleOnboarding, baseURL = process.env.BASE_URL, fetchOtpFromEmail, }) => {
|
|
118651
|
-
|
|
118652
|
-
|
|
118653
|
-
|
|
118654
|
-
|
|
118655
|
-
|
|
118656
|
-
|
|
118657
|
-
|
|
118658
|
-
|
|
118713
|
+
if (IS_DEV_ENV) {
|
|
118714
|
+
await fillCredentialsAndSubmit({
|
|
118715
|
+
page: this.page,
|
|
118716
|
+
email,
|
|
118717
|
+
loginPath: `${baseURL}${ROUTES.admin}`,
|
|
118718
|
+
});
|
|
118719
|
+
}
|
|
118720
|
+
else {
|
|
118721
|
+
await this.page.goto(`${baseURL}${ROUTES.admin}`, { timeout: 20000 });
|
|
118722
|
+
fetchOtpFromEmail === undefined
|
|
118723
|
+
? await this.loginViaSSO(email)
|
|
118724
|
+
: await this.loginWithFastmailEmail({ email, fetchOtpFromEmail });
|
|
118725
|
+
await this.setupProfile({ firstName, lastName, country });
|
|
118726
|
+
await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
|
|
118727
|
+
waitUntil: "load",
|
|
118728
|
+
});
|
|
118729
|
+
}
|
|
118659
118730
|
await handleOnboarding();
|
|
118660
118731
|
};
|
|
118661
118732
|
this.signUp = async ({ credentials, fetchOtpFromEmail, appName, }) => {
|
|
118662
|
-
|
|
118663
|
-
|
|
118664
|
-
|
|
118665
|
-
|
|
118666
|
-
|
|
118733
|
+
if (IS_DEV_ENV) {
|
|
118734
|
+
await createOrganizationViaRake({
|
|
118735
|
+
email: credentials.email,
|
|
118736
|
+
firstName: credentials.firstName,
|
|
118737
|
+
lastName: credentials.lastName,
|
|
118738
|
+
subdomainName: credentials.subdomainName,
|
|
118739
|
+
});
|
|
118740
|
+
await fillCredentialsAndSubmit({
|
|
118741
|
+
page: this.page,
|
|
118667
118742
|
email: credentials.email,
|
|
118668
|
-
|
|
118743
|
+
loginPath: `${baseURLGenerator(appName, credentials.subdomainName)}${ROUTES.admin}`,
|
|
118669
118744
|
});
|
|
118670
118745
|
}
|
|
118671
|
-
|
|
118672
|
-
|
|
118673
|
-
credentials
|
|
118674
|
-
|
|
118675
|
-
|
|
118676
|
-
|
|
118746
|
+
else {
|
|
118747
|
+
let otp = "123456";
|
|
118748
|
+
await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`, { timeout: 20000 });
|
|
118749
|
+
await this.submitEmail(credentials.email);
|
|
118750
|
+
if (fetchOtpFromEmail !== undefined) {
|
|
118751
|
+
otp = await fetchOtpFromEmail({
|
|
118752
|
+
email: credentials.email,
|
|
118753
|
+
timeout: 4 * 60 * 1000,
|
|
118754
|
+
});
|
|
118755
|
+
}
|
|
118756
|
+
await this.fillOTP(otp);
|
|
118757
|
+
await this.fillOrganizationDetails({
|
|
118758
|
+
credentials,
|
|
118759
|
+
appName,
|
|
118760
|
+
});
|
|
118761
|
+
await this.page.waitForURL(new RegExp(credentials.domain));
|
|
118762
|
+
}
|
|
118677
118763
|
const STORAGE_STATE = await this.page.context().storageState();
|
|
118678
118764
|
return { STORAGE_STATE, baseURL: process.env.BASE_URL };
|
|
118679
118765
|
};
|
|
118680
118766
|
this.fillOrganizationDetails = async ({ credentials, appName, }) => {
|
|
118767
|
+
if (IS_DEV_ENV)
|
|
118768
|
+
return;
|
|
118681
118769
|
const subdomainError = this.page.getByTestId(SIGNUP_SELECTORS.subdomainError);
|
|
118682
118770
|
const organizationSubmitButton = this.page.getByTestId(SIGNUP_SELECTORS.organizationSubmitButton);
|
|
118683
118771
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
@@ -119656,10 +119744,7 @@ const initializeCredentials = (product) => {
|
|
|
119656
119744
|
}
|
|
119657
119745
|
const stagingData = generateStagingData(product);
|
|
119658
119746
|
writeDataToFile(JSON.stringify({ user: stagingData }, null, 2));
|
|
119659
|
-
|
|
119660
|
-
const baseUrl = `https://${stagingData.subdomainName}.${stagingData.domain}`;
|
|
119661
|
-
process.env.BASE_URL = baseUrl;
|
|
119662
|
-
}
|
|
119747
|
+
process.env.BASE_URL = baseURLGenerator(product, stagingData.subdomainName);
|
|
119663
119748
|
};
|
|
119664
119749
|
|
|
119665
119750
|
const assertColumnHeaderVisibility = async ({ page, columnName, shouldBeVisible, }) => {
|
|
@@ -124602,7 +124687,6 @@ const playdashLighthouseConfig = {
|
|
|
124602
124687
|
tags: process.env.TAG,
|
|
124603
124688
|
};
|
|
124604
124689
|
const isCI = isPresent(process.env.NEETO_CI_JOB_ID);
|
|
124605
|
-
const isDevEnv = process.env.TEST_ENV === ENVIRONMENT.development;
|
|
124606
124690
|
const railsPort = process.env.RAILS_SERVER_PORT;
|
|
124607
124691
|
const vitePort = process.env.VITE_PORT;
|
|
124608
124692
|
const definePlaywrightConfig = (overrides) => {
|
|
@@ -124645,7 +124729,7 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
124645
124729
|
timeout: 5 * 60 * 1000,
|
|
124646
124730
|
workers: isCI ? 6 : 5,
|
|
124647
124731
|
reporter: isCI ? reporter : [["line"]],
|
|
124648
|
-
...(
|
|
124732
|
+
...(IS_DEV_ENV && {
|
|
124649
124733
|
webServer: [
|
|
124650
124734
|
{
|
|
124651
124735
|
command: `bundle exec puma -b tcp://0.0.0.0:${railsPort} -C config/puma.rb`,
|
|
@@ -124709,5 +124793,5 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
124709
124793
|
});
|
|
124710
124794
|
};
|
|
124711
124795
|
|
|
124712
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
124796
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_SELECTORS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_DEV_ENV, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, fillCredentialsAndSubmit, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
124713
124797
|
//# sourceMappingURL=index.js.map
|