@bigbinary/neeto-playwright-commons 4.1.3 → 4.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +9 -5
- package/index.js +80 -106
- 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,
|
|
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"),
|
|
@@ -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
|
-
|
|
119914
|
-
|
|
119915
|
-
|
|
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.
|
|
120233
|
+
await this.contentField.focus();
|
|
120268
120234
|
await this.neetoPlaywrightUtilities.moveCursorAtBottom();
|
|
120269
|
-
await this.
|
|
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,
|
|
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
|
+
"version": "4.1.4",
|
|
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",
|