@bigbinary/neeto-playwright-commons 4.1.3 → 4.1.5

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 +9 -5
  2. package/index.js +81 -107
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -3593,7 +3593,6 @@ declare class EditorPage {
3593
3593
  calloutSelector: Locator;
3594
3594
  videoUploadOption: Locator;
3595
3595
  todoListSelector: Locator;
3596
- textColorSelector: Locator;
3597
3596
  filePath: string;
3598
3597
  videoPath: string;
3599
3598
  linkUrl: string;
@@ -3625,7 +3624,6 @@ declare class EditorPage {
3625
3624
  private verifyVideoUploadOption;
3626
3625
  private verifyTodoListSelector;
3627
3626
  verifyDynamicVariables: (dynamicVariables: KeyValuePair[]) => Promise<void>;
3628
- private verifyTextColor;
3629
3627
  private verifyCalloutSelector;
3630
3628
  private buttonsAndVerifications;
3631
3629
  private fillRandomText;
@@ -4956,6 +4954,8 @@ declare const ACTIONS: {
4956
4954
  readonly updatedRole: "updatedRole";
4957
4955
  readonly deletedRole: "deletedRole";
4958
4956
  readonly updatedName: "updatedName";
4957
+ readonly connectedIntegration: "connectedIntegration";
4958
+ readonly disconnectedIntegration: "disconnectedIntegration";
4959
4959
  };
4960
4960
  type InviteUsersData = {
4961
4961
  emails: string[];
@@ -4986,6 +4986,10 @@ type DeletedRoleData = {
4986
4986
  type UpdatedNameData = {
4987
4987
  name: string;
4988
4988
  };
4989
+ type IntegrationData = {
4990
+ integrationName: string;
4991
+ detail?: string;
4992
+ };
4989
4993
  type ActionDataMap = {
4990
4994
  [ACTIONS.inviteUsers]: InviteUsersData;
4991
4995
  [ACTIONS.updatedUser]: UpdatedUserData;
@@ -4996,6 +5000,8 @@ type ActionDataMap = {
4996
5000
  [ACTIONS.updatedRole]: UpdatedRoleData;
4997
5001
  [ACTIONS.deletedRole]: DeletedRoleData;
4998
5002
  [ACTIONS.updatedName]: UpdatedNameData;
5003
+ [ACTIONS.connectedIntegration]: IntegrationData;
5004
+ [ACTIONS.disconnectedIntegration]: IntegrationData;
4999
5005
  };
5000
5006
  type ActionDataKey = keyof ActionDataMap;
5001
5007
  type MessageBuilders = { [k in ActionDataKey]: (data: ActionDataMap[k]) => string };
@@ -6176,7 +6182,6 @@ declare const LIST_MODIFIER_TAGS: {
6176
6182
  bulletList: string;
6177
6183
  orderedList: string;
6178
6184
  };
6179
- declare const EDITOR_VERIFY_TEXT_COLOR = "#e60000";
6180
6185
  declare const PHONE_NUMBER_FORMATS: {
6181
6186
  name: string;
6182
6187
  code: string;
@@ -6731,7 +6736,6 @@ declare const NEETO_EDITOR_SELECTORS: {
6731
6736
  strikeOption: string;
6732
6737
  codeBlockOption: string;
6733
6738
  highlightOption: string;
6734
- textColorOption: string;
6735
6739
  emojiOption: string;
6736
6740
  emojiDropdownIcon: string;
6737
6741
  linkInput: string;
@@ -9274,5 +9278,5 @@ interface Overrides {
9274
9278
  * @endexample
9275
9279
  */
9276
9280
  declare const definePlaywrightConfig: (overrides: Overrides) => PlaywrightTestConfig<{}, {}>;
9277
- export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, 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, ColorPickerUtils, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, 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, 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, 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, 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, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, 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, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
9281
+ export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, 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, ColorPickerUtils, 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, 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, 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, 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, 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, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, 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, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
9278
9282
  export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, EmailMatchCriteria, IntroPageThemeStyle, IntroPageThemeStyleType, OAuthEmailDeliveryProvider, ProjectName, ThemeCategory, ValueOf };
package/index.js CHANGED
@@ -1300,78 +1300,8 @@ const imageRegex = (imageName) => {
1300
1300
  return new RegExp(`${baseName}.*\\.${extension}$`);
1301
1301
  };
1302
1302
 
1303
- const DESCRIPTION_EDITOR_TEXTS = {
1304
- fontSize: "Font size",
1305
- paragraph: "Paragraph",
1306
- normalText: "Normal text",
1307
- pasteLink: "Paste the link here...",
1308
- invalidURLError: "Please enter a valid URL",
1309
- pasteURL: "Paste URL",
1310
- delete: "Delete",
1311
- linkTag: "a",
1312
- link: "Link",
1313
- cannedResponseHeader: "Canned responses",
1314
- paragraphOption: "paragraph",
1315
- search: "Search",
1316
- emoji: "Emoji",
1317
- };
1318
- const EXPANDED_FONT_SIZE = {
1319
- h1: "Heading 1",
1320
- h2: "Heading 2",
1321
- h3: "Heading 3",
1322
- h4: "Heading 4",
1323
- h5: "Heading 5",
1324
- };
1325
- const TEXT_MODIFIER_TAGS = {
1326
- underline: "u",
1327
- strike: "s",
1328
- };
1329
- const TEXT_MODIFIER_ROLES = {
1330
- bold: "strong",
1331
- italic: "emphasis",
1332
- code: "code",
1333
- blockquote: "blockquote",
1334
- codeBlock: "code",
1335
- };
1336
- const LIST_MODIFIER_TAGS = {
1337
- bulletList: "ul",
1338
- orderedList: "ol",
1339
- };
1340
- const EDITOR_VERIFY_TEXT_COLOR = "#e60000";
1341
-
1342
- const basicHTMLContent = (content) => `
1343
- <!DOCTYPE html>
1344
- <html lang="en">
1345
- <head>
1346
- <meta charset="UTF-8" />
1347
- <meta name="viewport" content="width=device-width" />
1348
- </head>
1349
- <body>
1350
- ${content}
1351
- </body>
1352
- </html>`;
1353
- const hexToRGB = (hex) => {
1354
- let r = "", g = "", b = "";
1355
- if (hex.length === 4) {
1356
- r = `0x${hex[1]}${hex[1]}`;
1357
- g = `0x${hex[2]}${hex[2]}`;
1358
- b = `0x${hex[3]}${hex[3]}`;
1359
- }
1360
- else if (hex.length === 7) {
1361
- r = `0x${hex[1]}${hex[2]}`;
1362
- g = `0x${hex[3]}${hex[4]}`;
1363
- b = `0x${hex[5]}${hex[6]}`;
1364
- }
1365
- return `rgb(${Number(r)}, ${Number(g)}, ${Number(b)})`;
1366
- };
1367
-
1368
1303
  const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
1369
1304
  const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
1370
- const editorTextColorStylePattern = (hex = EDITOR_VERIFY_TEXT_COLOR) => {
1371
- const normalized = hex.replace("#", "");
1372
- const [r, g, b] = hexToRGB(hex).match(/\d+/g) ?? [];
1373
- return new RegExp(`color:\\s*(#${normalized}|rgb\\(\\s*${r}\\s*,\\s*${g}\\s*,\\s*${b}\\s*\\))`, "i");
1374
- };
1375
1305
 
1376
1306
  const NEETO_EDITOR_SELECTORS = {
1377
1307
  fontSize: optionSelector("font-size"),
@@ -1381,7 +1311,6 @@ const NEETO_EDITOR_SELECTORS = {
1381
1311
  strikeOption: optionSelector("strike"),
1382
1312
  codeBlockOption: optionSelector("code"),
1383
1313
  highlightOption: optionSelector("highlight"),
1384
- textColorOption: optionSelector("text-color"),
1385
1314
  emojiOption: optionSelector("emoji"),
1386
1315
  emojiDropdownIcon: "emoji-dropdown-icon",
1387
1316
  linkInput: fixedMenuSelector("link-option-input"),
@@ -2001,7 +1930,7 @@ const MICROSOFT_LOGIN_SELECTORS = {
2001
1930
  signInProfileIcon: "#mectrl_headerPicture",
2002
1931
  emailInput: '[type="email"]',
2003
1932
  placeholder: ".placeholderInnerContainer",
2004
- dropdownMenu: (appName) => `button[aria-label='${appName}app']`,
1933
+ dropdownMenu: (appName) => `button[aria-label*='${appName}app']`,
2005
1934
  };
2006
1935
 
2007
1936
  const mimeTypeMap = {
@@ -69606,6 +69535,32 @@ class FastmailApi {
69606
69535
  });
69607
69536
  }
69608
69537
 
69538
+ const basicHTMLContent = (content) => `
69539
+ <!DOCTYPE html>
69540
+ <html lang="en">
69541
+ <head>
69542
+ <meta charset="UTF-8" />
69543
+ <meta name="viewport" content="width=device-width" />
69544
+ </head>
69545
+ <body>
69546
+ ${content}
69547
+ </body>
69548
+ </html>`;
69549
+ const hexToRGB = (hex) => {
69550
+ let r = "", g = "", b = "";
69551
+ if (hex.length === 4) {
69552
+ r = `0x${hex[1]}${hex[1]}`;
69553
+ g = `0x${hex[2]}${hex[2]}`;
69554
+ b = `0x${hex[3]}${hex[3]}`;
69555
+ }
69556
+ else if (hex.length === 7) {
69557
+ r = `0x${hex[1]}${hex[2]}`;
69558
+ g = `0x${hex[3]}${hex[4]}`;
69559
+ b = `0x${hex[5]}${hex[6]}`;
69560
+ }
69561
+ return `rgb(${Number(r)}, ${Number(g)}, ${Number(b)})`;
69562
+ };
69563
+
69609
69564
  class RailsEmailUtils {
69610
69565
  neetoPlaywrightUtilities;
69611
69566
  railsEmailClient;
@@ -119580,6 +119535,44 @@ class Member {
119580
119535
  };
119581
119536
  }
119582
119537
 
119538
+ const DESCRIPTION_EDITOR_TEXTS = {
119539
+ fontSize: "Font size",
119540
+ paragraph: "Paragraph",
119541
+ normalText: "Normal text",
119542
+ pasteLink: "Paste the link here...",
119543
+ invalidURLError: "Please enter a valid URL",
119544
+ pasteURL: "Paste URL",
119545
+ delete: "Delete",
119546
+ linkTag: "a",
119547
+ link: "Link",
119548
+ cannedResponseHeader: "Canned responses",
119549
+ paragraphOption: "paragraph",
119550
+ search: "Search",
119551
+ emoji: "Emoji",
119552
+ };
119553
+ const EXPANDED_FONT_SIZE = {
119554
+ h1: "Heading 1",
119555
+ h2: "Heading 2",
119556
+ h3: "Heading 3",
119557
+ h4: "Heading 4",
119558
+ h5: "Heading 5",
119559
+ };
119560
+ const TEXT_MODIFIER_TAGS = {
119561
+ underline: "u",
119562
+ strike: "s",
119563
+ };
119564
+ const TEXT_MODIFIER_ROLES = {
119565
+ bold: "strong",
119566
+ italic: "emphasis",
119567
+ code: "code",
119568
+ blockquote: "blockquote",
119569
+ codeBlock: "code",
119570
+ };
119571
+ const LIST_MODIFIER_TAGS = {
119572
+ bulletList: "ul",
119573
+ orderedList: "ol",
119574
+ };
119575
+
119583
119576
  const __dirname$4 = getDirname(import.meta.url);
119584
119577
  class SlashCommandEditorPage {
119585
119578
  page;
@@ -119803,7 +119796,6 @@ class EditorPage {
119803
119796
  calloutSelector;
119804
119797
  videoUploadOption;
119805
119798
  todoListSelector;
119806
- textColorSelector;
119807
119799
  filePath = "../../../e2e/assets/images/sample.png";
119808
119800
  videoPath = "../../../e2e/assets/files/sample.mp4";
119809
119801
  linkUrl = faker.internet.url();
@@ -119841,7 +119833,6 @@ class EditorPage {
119841
119833
  this.tableOption = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.tableOption);
119842
119834
  this.videoUploadOption = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.videoUploadOption);
119843
119835
  this.todoListSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.todoListOption);
119844
- this.textColorSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.textColorOption);
119845
119836
  }
119846
119837
  cleanString = (selector = "") => selector?.replace("neeto-editor-fixed-menu-", "").replace("-option", "") ||
119847
119838
  "";
@@ -119910,9 +119901,10 @@ class EditorPage {
119910
119901
  .filter({ hasText: randomText })).toBeVisible();
119911
119902
  await this.neetoPlaywrightUtilities.moveCursorAtBottom();
119912
119903
  await this.page.keyboard.press("Enter");
119913
- await this.contentField.click();
119914
- isButtonInMoreMenu && (await this.moreMenuSelector.click());
119915
- await textModifierSelector.click();
119904
+ if (modifierKey !== "codeBlock") {
119905
+ isButtonInMoreMenu && (await this.moreMenuSelector.click());
119906
+ await textModifierSelector.click();
119907
+ }
119916
119908
  return [{ key: modifierKey, value: randomText }];
119917
119909
  };
119918
119910
  verifyTextDeskModifier = async (modifier, isButtonInMoreMenu) => {
@@ -119982,6 +119974,7 @@ class EditorPage {
119982
119974
  await expect(this.contentField
119983
119975
  .locator(LIST_MODIFIER_TAGS[modifierKey])
119984
119976
  .filter({ hasText: randomText })).toBeVisible();
119977
+ await this.neetoPlaywrightUtilities.moveCursorAtBottom();
119985
119978
  isButtonInMoreMenu && (await this.moreMenuSelector.click());
119986
119979
  await listModifierSelector.click();
119987
119980
  return [{ key: modifierKey, value: randomText }];
@@ -120176,31 +120169,6 @@ class EditorPage {
120176
120169
  await expect(this.contentField.getByText(truncate(`${key}:${value}`, 25))).toBeVisible();
120177
120170
  }
120178
120171
  };
120179
- verifyTextColor = async (isButtonInMoreMenu) => {
120180
- const randomText = await this.fillRandomText();
120181
- const colorPickerInput = this.page
120182
- .getByTestId(COMMON_SELECTORS.customDropdownContainer())
120183
- .getByTestId(COMMON_SELECTORS.inputField);
120184
- await expect(async () => {
120185
- isButtonInMoreMenu && (await this.moreMenuSelector.click());
120186
- await this.textColorSelector.click();
120187
- await expect(colorPickerInput).toBeVisible({ timeout: 5_000 });
120188
- await colorPickerInput.fill(EDITOR_VERIFY_TEXT_COLOR);
120189
- // Using .first() to target the button rendered by the Formik editor.
120190
- await this.page
120191
- .getByTestId(COMMON_SELECTORS.customDropdownContainer())
120192
- .getByRole("button")
120193
- // eslint-disable-next-line playwright/no-nth-methods
120194
- .first()
120195
- .click();
120196
- await expect(colorPickerInput).toBeHidden({ timeout: 5_000 });
120197
- }).toPass({ timeout: 40_000 });
120198
- const coloredText = this.contentField.locator("[style]", {
120199
- hasText: randomText,
120200
- });
120201
- await expect(coloredText).toHaveAttribute("style", editorTextColorStylePattern());
120202
- return [{ key: "text-color", value: randomText }];
120203
- };
120204
120172
  verifyCalloutSelector = async (isButtonInMoreMenu) => {
120205
120173
  isButtonInMoreMenu && (await this.moreMenuSelector.click());
120206
120174
  const calloutTypes = ["default", "info", "warning", "error", "success"];
@@ -120236,7 +120204,6 @@ class EditorPage {
120236
120204
  underline: isButtonInMoreMenu => this.verifyTextDeskModifier("underline", isButtonInMoreMenu),
120237
120205
  strike: isButtonInMoreMenu => this.verifyTextDeskModifier("strike", isButtonInMoreMenu),
120238
120206
  highlight: isButtonInMoreMenu => this.verifyTextHighlighter(isButtonInMoreMenu),
120239
- "text-color": isButtonInMoreMenu => this.verifyTextColor(isButtonInMoreMenu),
120240
120207
  bulletList: isButtonInMoreMenu => this.verifyListModifiers("bulletList", isButtonInMoreMenu),
120241
120208
  orderedList: isButtonInMoreMenu => this.verifyListModifiers("orderedList", isButtonInMoreMenu),
120242
120209
  link: isButtonInMoreMenu => this.verifyEditorLinkButton(this.linkUrl, isButtonInMoreMenu),
@@ -120245,7 +120212,6 @@ class EditorPage {
120245
120212
  imageUrl: this.imageUrl,
120246
120213
  filePath: this.filePath,
120247
120214
  isButtonInMoreMenu,
120248
- shouldRemoveImage: true,
120249
120215
  }),
120250
120216
  "canned-responses": isButtonInMoreMenu => this.verifyCannedResponseOption(isButtonInMoreMenu),
120251
120217
  "video-embed": isButtonInMoreMenu => this.verifyVideoEmbedOption(this.videoUrl, isButtonInMoreMenu),
@@ -120264,9 +120230,9 @@ class EditorPage {
120264
120230
  do {
120265
120231
  randomText = faker.lorem.word(10);
120266
120232
  } while (this.wordsUsedInEditor.includes(randomText));
120267
- await this.contentField.click();
120233
+ await this.contentField.focus();
120268
120234
  await this.neetoPlaywrightUtilities.moveCursorAtBottom();
120269
- await this.contentField.fill(randomText);
120235
+ await this.page.keyboard.type(randomText);
120270
120236
  this.wordsUsedInEditor.push(randomText);
120271
120237
  const randomTextLocator = this.contentField.getByText(randomText);
120272
120238
  await randomTextLocator.scrollIntoViewIfNeeded();
@@ -120832,6 +120798,8 @@ const ACTIONS = {
120832
120798
  updatedRole: "updatedRole",
120833
120799
  deletedRole: "deletedRole",
120834
120800
  updatedName: "updatedName",
120801
+ connectedIntegration: "connectedIntegration",
120802
+ disconnectedIntegration: "disconnectedIntegration",
120835
120803
  };
120836
120804
 
120837
120805
  dayjs.extend(utc);
@@ -120858,6 +120826,12 @@ class AuditLogsPage {
120858
120826
  [ACTIONS.updatedRole]: (data) => `${this.admin} updated ${data.roleName} role on Neeto${this.product}.`,
120859
120827
  [ACTIONS.deletedRole]: (data) => `${this.admin} deleted ${data.roleName} role on Neeto${this.product}.`,
120860
120828
  [ACTIONS.updatedName]: (data) => `${this.admin} changed first name from ${data.name} to ${this.admin.split(" ")[0]} in Neeto${this.product}.`,
120829
+ [ACTIONS.connectedIntegration]: (data) => data.detail
120830
+ ? `${this.admin} connected ${data.integrationName} using ${data.detail}.`
120831
+ : `${this.admin} connected ${data.integrationName}.`,
120832
+ [ACTIONS.disconnectedIntegration]: (data) => data.detail
120833
+ ? `${this.admin} disconnected ${data.integrationName} for ${data.detail}.`
120834
+ : `${this.admin} disconnected ${data.integrationName}.`,
120861
120835
  };
120862
120836
  }
120863
120837
  verifyAuditLogs = async ({ action, adminName, data, }) => {
@@ -126122,4 +126096,4 @@ const definePlaywrightConfig = (overrides) => {
126122
126096
  });
126123
126097
  };
126124
126098
 
126125
- export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, 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, ColorPickerUtils, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, 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, 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, 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, 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, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, 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, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
126099
+ export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, 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, ColorPickerUtils, 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, 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, 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, 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, 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, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, 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, networkConditions, networkThrottlingUsingCDP, 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.1.3",
3
+ "version": "4.1.5",
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",