@bigbinary/neeto-playwright-commons 4.6.0 → 4.6.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.
Files changed (3) hide show
  1. package/index.d.ts +108 -1
  2. package/index.js +126 -18
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -387,6 +387,20 @@ declare class CustomCommands {
387
387
  page,
388
388
  options
389
389
  }: SelectOptionFromDropdownParams) => Promise<void>;
390
+ selectOptionFromDropdownV1: ({
391
+ label,
392
+ value,
393
+ page,
394
+ options
395
+ }: SelectOptionFromDropdownParams) => Promise<void>;
396
+ waitForSheetOpen: () => Promise<void>;
397
+ waitForSheetClose: () => Promise<void>;
398
+ selectOptionFromDropdownV2: ({
399
+ label,
400
+ value,
401
+ page,
402
+ options
403
+ }: SelectOptionFromDropdownParams) => Promise<void>;
390
404
  /**
391
405
  *
392
406
  * Command to verify the value of a field. It can take either a single object or an array of objects, each representing a field and its expected value.
@@ -4435,6 +4449,7 @@ declare const ZAPIER_TEST_EMAIL: (product: string) => string;
4435
4449
  declare const MAILPIT_BASE_URL = "https://mailpit.neetodeployapp.com";
4436
4450
  declare const MAILPIT_DOMAIN_NAME = "mail.aceinvoice.com";
4437
4451
  declare const IS_MAILPIT_ENABLED: boolean;
4452
+ declare const IS_SHADCN_UI: boolean;
4438
4453
  declare const mailpitDomainName: () => string;
4439
4454
  declare const ZAPIER_TEST_EMAIL_V2: (product: string) => string;
4440
4455
  declare const SINGULAR: {
@@ -5013,6 +5028,30 @@ declare class TeamMembers {
5013
5028
  }
5014
5029
  declare class TeamMembersV2 extends TeamMembers {
5015
5030
  fillMemberForm: (emails: string[], role?: string) => Promise<void>;
5031
+ openMemberPane: () => Promise<void>;
5032
+ /**
5033
+ *
5034
+ * Used to add a member using the add button in the header. It takes the following parameters:
5035
+ *
5036
+ * emails (optional): The emails of the members to be added. Default is an example email.
5037
+ *
5038
+ * role (optional): The role of the new members. Default is standard.
5039
+ *
5040
+ * @example
5041
+ *
5042
+ * await teamMembers.addMemberViaUI({
5043
+ * emails: ["sam@example.com", "tom@example.com"],
5044
+ * role: "admin",
5045
+ * });
5046
+ * @endexample
5047
+ */
5048
+ addMemberViaUI: ({
5049
+ emails,
5050
+ role
5051
+ }?: {
5052
+ emails?: string[];
5053
+ role?: string;
5054
+ }) => Promise<void>;
5016
5055
  submit: () => Promise<void>;
5017
5056
  /**
5018
5057
  *
@@ -5142,6 +5181,72 @@ declare class TeamMembersV2 extends TeamMembers {
5142
5181
  * @endexample
5143
5182
  */
5144
5183
  verifyNoDataTitle: (email: string) => Promise<void>;
5184
+ protected applyFilter: () => Promise<void>;
5185
+ /**
5186
+ *
5187
+ * Used to perform an action on a column header in the team members table. It takes the following parameters:
5188
+ *
5189
+ * columnName (optional): The name of the column to perform the action on. Default is Name.
5190
+ *
5191
+ * actionButtonText (optional): The text of the action button to be clicked. Default is Ascending.
5192
+ *
5193
+ * @example
5194
+ *
5195
+ * await teamMembers.performColumnAction({
5196
+ * columnName: "Role",
5197
+ * actionButtonText: "Hide column",
5198
+ * });
5199
+ * @endexample
5200
+ * @example
5201
+ *
5202
+ * await teamMembers.performColumnAction();
5203
+ *
5204
+ * // This will sort the `name` column in ascending order.
5205
+ * @endexample
5206
+ */
5207
+ performColumnAction: ({
5208
+ columnName,
5209
+ actionButtonText
5210
+ }?: {
5211
+ columnName?: string;
5212
+ actionButtonText?: "Ascending" | "Descending" | "Hide column";
5213
+ }) => Promise<void>;
5214
+ /**
5215
+ *
5216
+ * Used to take action on members by selecting the members and clicking on the take action button in the subheader. It takes the following parameters:
5217
+ *
5218
+ * names (optional): The names of the members to take action on. If not provided, all members will be selected.
5219
+ *
5220
+ * state (optional): The state to change the members to.
5221
+ *
5222
+ * action (optional): An object with actionButtonText and valueButtonText as keys to take action on the members. actionButtonText and valueButtonText are the text of the action button to be clicked and the value of the action to be changed to, respectively.
5223
+ *
5224
+ * @example
5225
+ *
5226
+ * await teamMembers.takeActionOnMembers({
5227
+ * names: ["Sam", "Tom"],
5228
+ * state: "Deactivate",
5229
+ * });
5230
+ * @endexample
5231
+ * @example
5232
+ *
5233
+ * await teamMembers.takeActionOnMembers({
5234
+ * action: { actionButtonText: "Change role", valueButtonText: "Admin" },
5235
+ * });
5236
+ * @endexample
5237
+ */
5238
+ takeActionOnMembers: ({
5239
+ names,
5240
+ state,
5241
+ action
5242
+ }: {
5243
+ names?: string[];
5244
+ state?: "activate" | "deactivate" | undefined;
5245
+ action?: {
5246
+ actionButtonText: string;
5247
+ valueButtonText: string;
5248
+ } | undefined;
5249
+ }) => Promise<void>;
5145
5250
  }
5146
5251
  interface BasicUserInfo {
5147
5252
  firstName: string;
@@ -7221,6 +7326,7 @@ declare const COMMON_SELECTORS: {
7221
7326
  toastBody: string;
7222
7327
  paneModalCrossIcon: string;
7223
7328
  sheetHeader: string;
7329
+ sheetWrapper: string;
7224
7330
  sheetBody: string;
7225
7331
  sheetCloseButton: string;
7226
7332
  dialogHeader: string;
@@ -7958,6 +8064,7 @@ declare const MEMBER_SELECTORS: {
7958
8064
  exportCancelBtn: string;
7959
8065
  downloadButton: string;
7960
8066
  manageAppListChk: string;
8067
+ takeActionDropdown: string;
7961
8068
  menubarSubLink: (sublink: string) => string;
7962
8069
  takeActionStateOption: (option?: string) => string;
7963
8070
  checkboxLabel: (label: string) => string;
@@ -10218,5 +10325,5 @@ declare class InboundEmailApis {
10218
10325
  reply: (emailParams: ReplyInboundEmailParams) => Promise<playwright_core.APIResponse | undefined>;
10219
10326
  private deliverSource;
10220
10327
  }
10221
- export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, 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, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, 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, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, 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, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, 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_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
10328
+ export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, 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, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, 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, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_SHADCN_UI, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, 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, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, 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_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
10222
10329
  export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, EmailMatchCriteria, InboundEmailParams, IntroPageThemeStyle, IntroPageThemeStyleType, OAuthEmailDeliveryProvider, ProjectName, ReplyInboundEmailParams, ThemeCategory, ValueOf };
package/index.js CHANGED
@@ -328,6 +328,7 @@ const ZAPIER_TEST_EMAIL = (product) => `neeto-${product}-zapier-test@${process.e
328
328
  const MAILPIT_BASE_URL = "https://mailpit.neetodeployapp.com";
329
329
  const MAILPIT_DOMAIN_NAME = "mail.aceinvoice.com";
330
330
  const IS_MAILPIT_ENABLED = isPresent(process.env.MAILPIT_DOMAIN_NAME);
331
+ const IS_SHADCN_UI = isPresent(process.env.IS_SHADCN_UI);
331
332
  const mailpitDomainName = () => process.env.MAILPIT_DOMAIN_NAME || MAILPIT_DOMAIN_NAME;
332
333
  const ZAPIER_TEST_EMAIL_V2 = (product) => `neeto-${product}-zapier-test@${mailpitDomainName()}`;
333
334
  // constants for translation
@@ -990,7 +991,7 @@ const COMMON_SELECTORS = {
990
991
  checkbox: "nui-checkbox-input",
991
992
  checkboxLabel: "nui-checkbox-label",
992
993
  dropdownContainer: "nui-dropdown-container",
993
- dropdownIcon: "nui-dropdown-icon",
994
+ dropdownIcon: IS_SHADCN_UI ? "natm-dropdown-icon" : "nui-dropdown-icon",
994
995
  heading: "main-header",
995
996
  paneBody: "pane-body",
996
997
  paneHeader: "pane-header",
@@ -1009,6 +1010,7 @@ const COMMON_SELECTORS = {
1009
1010
  toastBody: ".Toastify__toast-body",
1010
1011
  paneModalCrossIcon: "pane-close-button",
1011
1012
  sheetHeader: "sheet-header",
1013
+ sheetWrapper: "sheet-wrapper",
1012
1014
  sheetBody: "sheet-body",
1013
1015
  sheetCloseButton: "sheet-close-button",
1014
1016
  dialogHeader: "dialog-header",
@@ -1642,6 +1644,7 @@ const MEMBER_SELECTORS = {
1642
1644
  exportCancelBtn: "export-cancel-button",
1643
1645
  downloadButton: "download-button",
1644
1646
  manageAppListChk: "ntm-manage-members-app-list-checkbox",
1647
+ takeActionDropdown: "ntm-members-take-action-dropdown-button",
1645
1648
  menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
1646
1649
  takeActionStateOption: (option = "") => `ntm-${hyphenate(option)}-members-button`,
1647
1650
  checkboxLabel: (label) => `${hyphenate(label)}-checkbox-label`,
@@ -2244,6 +2247,11 @@ class CustomCommands {
2244
2247
  return await this.request[method](formattedUrl, requestOptions);
2245
2248
  };
2246
2249
  selectOptionFromDropdown = async ({ label = "nui", value, page = this.page, options = {}, }) => {
2250
+ IS_SHADCN_UI
2251
+ ? await this.selectOptionFromDropdownV2({ label, value, page, options })
2252
+ : await this.selectOptionFromDropdownV1({ label, value, page, options });
2253
+ };
2254
+ selectOptionFromDropdownV1 = async ({ label = "nui", value, page = this.page, options = {}, }) => {
2247
2255
  Object.assign({
2248
2256
  visibilityTimeout: 2_000,
2249
2257
  textAssertionTimeout: 1_000,
@@ -2263,6 +2271,29 @@ class CustomCommands {
2263
2271
  });
2264
2272
  }).toPass({ timeout: options.retryTimeout });
2265
2273
  };
2274
+ waitForSheetOpen = () => expect(this.page.getByTestId(COMMON_SELECTORS.sheetHeader)).toBeInViewport({
2275
+ timeout: 10_000,
2276
+ ratio: 1,
2277
+ });
2278
+ waitForSheetClose = () => expect(this.page.getByTestId(COMMON_SELECTORS.sheetWrapper)).toHaveCount(0, { timeout: 10_000 });
2279
+ selectOptionFromDropdownV2 = async ({ label = "nui", value, page = this.page, options = {}, }) => {
2280
+ Object.assign({
2281
+ visibilityTimeout: 2_000,
2282
+ textAssertionTimeout: 1_000,
2283
+ retryTimeout: 20_000,
2284
+ }, options);
2285
+ const menu = page.getByTestId(COMMON_SELECTORS.customDropDownMenu(label));
2286
+ const container = page.getByTestId(COMMON_SELECTORS.customSelectContainer(label));
2287
+ await expect(async () => {
2288
+ await container.click();
2289
+ await expect(menu).toBeVisible({ timeout: options.visibilityTimeout });
2290
+ await page.keyboard.type(value);
2291
+ await menu.getByRole("option", { name: value, exact: true }).click();
2292
+ await expect(container).toContainText(value, {
2293
+ timeout: options.textAssertionTimeout,
2294
+ });
2295
+ }).toPass({ timeout: options.retryTimeout });
2296
+ };
2266
2297
  verifyFieldValue = values => {
2267
2298
  const verifyEachFieldValue = ({ field, value, }) => expect(this.page.getByTestId(field)).toHaveValue(value);
2268
2299
  return Array.isArray(values)
@@ -70414,8 +70445,10 @@ class MailerUtils {
70414
70445
  };
70415
70446
  generateRandomEmailV2 = () => {
70416
70447
  const domain = mailpitDomainName();
70417
- const [localPart] = faker.internet.email({ provider: domain }).split("@");
70418
- return `${localPart}.${faker.string.alphanumeric(8).toLowerCase()}@${domain}`;
70448
+ const [localPart] = faker.internet
70449
+ .email({ provider: domain, allowSpecialCharacters: false })
70450
+ .split("@");
70451
+ return `${localPart}.${faker.string.alpha(8).toLowerCase()}@${domain}`;
70419
70452
  };
70420
70453
  getLatestMessageIdV2 = async (subject, { timeout = 10_000, receivedAfter = dateTimeOneHourAgo(), } = {}) => {
70421
70454
  if (IS_DEV_ENV) {
@@ -119948,7 +119981,15 @@ class ZapierPage extends IntegrationBase {
119948
119981
  .getByRole("button", { name: ZAPIER_WEB_TEXTS.editThisZap })
119949
119982
  .click();
119950
119983
  await this.zapierWebPage.waitForLoadState();
119951
- await expect(this.navbar.getByTestId(ZAPIER_SELECTORS.publishButton)).toBeVisible({ timeout: 25_000 });
119984
+ const publishBtn = this.navbar.getByTestId(ZAPIER_SELECTORS.publishButton);
119985
+ const editBtn = this.zapierWebPage.getByRole("button", {
119986
+ name: ZAPIER_WEB_TEXTS.editExistingDraft,
119987
+ });
119988
+ await expect(publishBtn.or(editBtn)).toBeVisible({ timeout: 25_000 });
119989
+ if (await editBtn.isHidden())
119990
+ return;
119991
+ await editBtn.click();
119992
+ await expect(publishBtn).toBeVisible({ timeout: 25_000 });
119952
119993
  };
119953
119994
  openMoreOptions = async () => {
119954
119995
  await this.firstStepBlock.waitFor({ timeout: 25_000 });
@@ -119964,6 +120005,9 @@ class ZapierPage extends IntegrationBase {
119964
120005
  await this.zapToggle.click();
119965
120006
  await expect(this.zapToggle.getByTestId(ZAPIER_SELECTORS.spinner)).toBeHidden({ timeout: 30_000 });
119966
120007
  await expect(checkbox).toBeChecked({ timeout: 15_000 });
120008
+ await expect(this.zapierWebPage.getByRole("dialog")).toBeVisible({
120009
+ timeout: 15_000,
120010
+ });
119967
120011
  };
119968
120012
  reconnectAccount = async (zapierApiKey) => {
119969
120013
  this.stepBlock = this.zapierWebPage.getByTestId(ZAPIER_SELECTORS.stepBlock);
@@ -120064,7 +120108,9 @@ class ZapierPage extends IntegrationBase {
120064
120108
  });
120065
120109
  await this.zapierWebPage.close();
120066
120110
  };
120067
- verifyZapIsTriggered = ({ productName, submittedEmail, zapTriggeredAfter, timeout = 2 * 60_000, }) => this.mailerUtils.findMessage({ to: ZAPIER_TEST_EMAIL(productName), body: submittedEmail }, { timeout, receivedAfter: zapTriggeredAfter });
120111
+ verifyZapIsTriggered = ({ productName, submittedEmail, zapTriggeredAfter, timeout = 2 * 60_000, }) => IS_MAILPIT_ENABLED
120112
+ ? this.mailerUtils.findMessageV2({ to: ZAPIER_TEST_EMAIL(productName), body: submittedEmail }, { timeout, receivedAfter: zapTriggeredAfter })
120113
+ : this.mailerUtils.findMessage({ to: ZAPIER_TEST_EMAIL(productName), body: submittedEmail }, { timeout, receivedAfter: zapTriggeredAfter });
120068
120114
  skipIfTaskLimitIsExhausted = async () => {
120069
120115
  // Zapier provides 100 free task limit for free account; skip test if it's exhausted
120070
120116
  const universalSidebar = this.zapierWebPage.locator(ZAPIER_SELECTORS.universalSidebar);
@@ -120189,7 +120235,7 @@ class Member {
120189
120235
  generateRandomTeamMembers = ({ count = 1, role = "standard" }) => dynamicArray(count, () => ({
120190
120236
  firstName: faker.person.firstName(),
120191
120237
  lastName: faker.person.lastName(),
120192
- email: faker.internet.exampleEmail(),
120238
+ email: faker.internet.exampleEmail({ allowSpecialCharacters: false }),
120193
120239
  role,
120194
120240
  }));
120195
120241
  getUserIdViaAPI = async (email) => {
@@ -121223,7 +121269,7 @@ class TeamMembers {
121223
121269
  .click();
121224
121270
  await continueBtn.click();
121225
121271
  };
121226
- addMemberViaUI = async ({ emails = [faker.internet.exampleEmail()], role = "standard", } = {}) => {
121272
+ addMemberViaUI = async ({ emails = [faker.internet.exampleEmail({ allowSpecialCharacters: false })], role = "standard", } = {}) => {
121227
121273
  await this.openMemberPane();
121228
121274
  await this.fillMemberForm(emails, role);
121229
121275
  await this.submit();
@@ -121439,24 +121485,35 @@ class TeamMembers {
121439
121485
  class TeamMembersV2 extends TeamMembers {
121440
121486
  fillMemberForm = async (emails, role) => {
121441
121487
  await this.page
121442
- .getByTestId(COMMON_SELECTORS.emailInputWrapper)
121443
- .getByRole("textbox")
121444
- .fill(emails.join(", "));
121488
+ .getByTestId(MEMBER_FORM_SELECTORS.emailTextField)
121489
+ .pressSequentially(emails.join(", "));
121490
+ const continueBtn = this.page.getByTestId(MEMBER_SELECTORS.continueButton);
121445
121491
  await this.page.keyboard.press("Enter");
121492
+ await expect(continueBtn).toBeEnabled();
121446
121493
  role &&
121447
121494
  (await this.neetoPlaywrightUtilities.toggleElement({
121448
121495
  locator: this.page.getByRole("radio", { name: role, exact: true }),
121449
121496
  }));
121450
- const continueBtn = this.page.getByTestId(MEMBER_SELECTORS.continueButton);
121451
121497
  await continueBtn.click();
121452
121498
  if (IS_DEV_ENV)
121453
121499
  return;
121454
- await this.page
121455
- .getByTestId(COMMON_SELECTORS.paneBody)
121456
- .getByTestId(COMMON_SELECTORS.checkboxLabel)
121457
- .click();
121500
+ await this.page.getByTestId(MEMBER_SELECTORS.manageAppListChk).click();
121458
121501
  await continueBtn.click();
121459
121502
  };
121503
+ openMemberPane = async () => {
121504
+ await this.page.getByTestId(MEMBER_SELECTORS.newButton).click();
121505
+ await this.neetoPlaywrightUtilities.waitForPageLoad();
121506
+ const continueButton = this.page.getByTestId(MEMBER_SELECTORS.continueButton);
121507
+ await expect(continueButton).toBeVisible();
121508
+ await this.neetoPlaywrightUtilities.waitForSheetOpen();
121509
+ await expect(continueButton.getByTestId(COMMON_SELECTORS.uiSpinner)).toBeHidden({ timeout: 35_000 });
121510
+ };
121511
+ addMemberViaUI = async ({ emails = [faker.internet.exampleEmail({ allowSpecialCharacters: false })], role = "standard", } = {}) => {
121512
+ await this.openMemberPane();
121513
+ await this.fillMemberForm(emails, role);
121514
+ await this.submit();
121515
+ await this.neetoPlaywrightUtilities.waitForPageLoad();
121516
+ };
121460
121517
  submit = async () => {
121461
121518
  const pane = this.page.getByRole("dialog");
121462
121519
  const submitBtn = this.page.getByTestId(MEMBER_SELECTORS.submitButton);
@@ -121481,6 +121538,7 @@ class TeamMembersV2 extends TeamMembers {
121481
121538
  await expect(this.page
121482
121539
  .getByTestId(MEMBER_SELECTORS.submitButton)
121483
121540
  .getByTestId(COMMON_SELECTORS.uiSpinner)).toHaveCount(0, { timeout: 35_000 });
121541
+ await this.neetoPlaywrightUtilities.waitForSheetOpen();
121484
121542
  isPresent(email) &&
121485
121543
  (await this.page
121486
121544
  .getByTestId(MEMBER_FORM_SELECTORS.emailInput)
@@ -121549,6 +121607,57 @@ class TeamMembersV2 extends TeamMembers {
121549
121607
  await expect(this.page.getByTestId(COMMON_SELECTORS.noDataTitleV2)).toBeVisible({ timeout: 10_000 });
121550
121608
  await filterUtils.clearFiltersFromActionBlock(this.page);
121551
121609
  };
121610
+ applyFilter = async () => {
121611
+ await expect(this.page.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)).toBeVisible();
121612
+ await this.neetoPlaywrightUtilities.waitForPageLoad();
121613
+ await expect(this.page.locator(COMMON_SELECTORS.tableSpinner)).toBeHidden({
121614
+ timeout: 30_000,
121615
+ });
121616
+ await this.page
121617
+ .getByTestId(NEETO_FILTERS_SELECTORS.filterDoneButton)
121618
+ .click();
121619
+ await this.neetoPlaywrightUtilities.waitForSheetClose();
121620
+ };
121621
+ performColumnAction = async ({ columnName = "Name", actionButtonText = "Ascending", } = {}) => {
121622
+ await this.page
121623
+ .getByTestId(TABLE_SELECTORS.columnHeaderTitle(hyphenate(columnName)))
121624
+ .getByTestId(TABLE_SELECTORS.columnMenuButton)
121625
+ .click();
121626
+ await this.page.getByRole("menuitem", { name: actionButtonText }).click();
121627
+ await this.neetoPlaywrightUtilities.waitForPageLoad();
121628
+ await expect(this.page.locator(COMMON_SELECTORS.tableSpinner)).toBeHidden();
121629
+ };
121630
+ takeActionOnMembers = async ({ names = [], state, action, }) => {
121631
+ if (isPresent(names)) {
121632
+ for (const name of names) {
121633
+ await this.getMemberRowByName(name).getByRole("checkbox").click();
121634
+ }
121635
+ }
121636
+ else {
121637
+ await this.page
121638
+ .getByRole("columnheader", { name: MEMBER_TEXTS.selectAll })
121639
+ .click();
121640
+ }
121641
+ await this.page.getByTestId(MEMBER_SELECTORS.takeActionDropdown).click();
121642
+ if (isPresent(state)) {
121643
+ await this.page
121644
+ .getByTestId(MEMBER_SELECTORS.takeActionStateOption(state))
121645
+ .click();
121646
+ }
121647
+ else {
121648
+ await this.page
121649
+ .getByRole("menuitem", { name: action?.actionButtonText })
121650
+ .click();
121651
+ await this.page
121652
+ .getByRole("menuitem", { name: action?.valueButtonText })
121653
+ .click();
121654
+ }
121655
+ await this.page
121656
+ .getByTestId(COMMON_SELECTORS.alertModalSubmitButton)
121657
+ .click();
121658
+ await this.neetoPlaywrightUtilities.verifyToast();
121659
+ await this.neetoPlaywrightUtilities.waitForPageLoad();
121660
+ };
121552
121661
  }
121553
121662
 
121554
121663
  dayjs.extend(customParseFormat);
@@ -121647,7 +121756,6 @@ class ApiKeysPageV2 extends ApiKeysPage {
121647
121756
  fillApiKeyDetails = async ({ label, expiryDate }) => {
121648
121757
  const dialog = this.page.getByRole("dialog");
121649
121758
  await this.page
121650
- .getByTestId(COMMON_SELECTORS.paneBody)
121651
121759
  .getByTestId(COMMON_SELECTORS.customInputField("name"))
121652
121760
  .fill(label);
121653
121761
  isPresent(expiryDate) && (await this.enableExpiryDate(expiryDate));
@@ -127003,7 +127111,7 @@ const definePlaywrightConfig = (overrides) => {
127003
127111
  ...globalOverrides,
127004
127112
  use: {
127005
127113
  baseURL: process.env.BASE_URL,
127006
- trace: "on",
127114
+ trace: { mode: "on", attachments: false },
127007
127115
  screenshot: "only-on-failure",
127008
127116
  navigationTimeout: 35_000,
127009
127117
  actionTimeout: 10 * 1000,
@@ -127158,4 +127266,4 @@ class InboundEmailApis {
127158
127266
  };
127159
127267
  }
127160
127268
 
127161
- export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, 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, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, 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, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, 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, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, 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_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
127269
+ export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, 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, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, 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, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_SHADCN_UI, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, 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, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, 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_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-playwright-commons",
3
- "version": "4.6.0",
3
+ "version": "4.6.2",
4
4
  "description": "A package encapsulating common playwright code across neeto projects.",
5
5
  "repository": "git@github.com:bigbinary/neeto-playwright-commons.git",
6
6
  "license": "apache-2.0",