@bigbinary/neeto-playwright-commons 4.8.4 → 4.8.6
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 +31 -3
- package/index.js +87 -24
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -4165,6 +4165,8 @@ declare class EditorPage {
|
|
|
4165
4165
|
private fixedMenuOptions;
|
|
4166
4166
|
private moreMenuOptions;
|
|
4167
4167
|
private verifyFontSize;
|
|
4168
|
+
private verifyFontSizeV1;
|
|
4169
|
+
private verifyFontSizeV2;
|
|
4168
4170
|
private verifyTextModifiers;
|
|
4169
4171
|
private verifyTextDeskModifier;
|
|
4170
4172
|
private openHighlighterContainer;
|
|
@@ -4647,6 +4649,8 @@ declare const DATE_RANGES: {
|
|
|
4647
4649
|
};
|
|
4648
4650
|
declare const CERTIFICATE_LIMIT_EXCEEDED_REGEXP = "too many certificates \\(\\d+\\) already issued for \"neetoautomation.com\"";
|
|
4649
4651
|
declare const CERTIFICATE_LIMIT_EXCEEDED_MESSAGE = "Certificate limit exceeded for custom domain";
|
|
4652
|
+
declare const CERTIFICATE_PROVISION_FAILED_MESSAGE = "Certificate provisioning failed for custom domain";
|
|
4653
|
+
declare const CERTIFICATE_PROVISION_FAILED_REGEXP = "provisioning certificate for your domain";
|
|
4650
4654
|
declare const EXPORT_FILE_TYPES: {
|
|
4651
4655
|
readonly pdf: "pdf";
|
|
4652
4656
|
readonly excel: "excel";
|
|
@@ -6006,7 +6010,21 @@ declare class CustomDomainPage {
|
|
|
6006
6010
|
private addCustomDomain;
|
|
6007
6011
|
/**
|
|
6008
6012
|
*
|
|
6009
|
-
* Validates the custom domain via UI.
|
|
6013
|
+
* Validates the custom domain via UI. Clicks Validate once, then polls
|
|
6014
|
+
*
|
|
6015
|
+
* GET /api/v1/custom_domains until the domain status is active. Skips the
|
|
6016
|
+
*
|
|
6017
|
+
* test when certificate infrastructure is outside the suite's control (Let's
|
|
6018
|
+
*
|
|
6019
|
+
* Encrypt certificate limit exceeded, or neetoCustomDomains.certificateProvisionFailed).
|
|
6020
|
+
*
|
|
6021
|
+
* Does not wait for the success toast — staging validation is asynchronous and
|
|
6022
|
+
*
|
|
6023
|
+
* that toast is only emitted on a synchronous 200. After the domain is
|
|
6024
|
+
*
|
|
6025
|
+
* active, closes the validation pane if it is still open so later UI steps can
|
|
6026
|
+
*
|
|
6027
|
+
* reach the domain list.
|
|
6010
6028
|
*
|
|
6011
6029
|
* domain: The custom domain string to validate.
|
|
6012
6030
|
*
|
|
@@ -6016,6 +6034,7 @@ declare class CustomDomainPage {
|
|
|
6016
6034
|
* @endexample
|
|
6017
6035
|
*/
|
|
6018
6036
|
validateCustomDomain: (domain: string) => Promise<void>;
|
|
6037
|
+
private getProductSubdomainFromHostname;
|
|
6019
6038
|
private getDomainStatus;
|
|
6020
6039
|
private loginToCustomDomain;
|
|
6021
6040
|
private waitForTrustedSSL;
|
|
@@ -6088,7 +6107,10 @@ declare class CustomDomainPage {
|
|
|
6088
6107
|
* @endexample
|
|
6089
6108
|
*/
|
|
6090
6109
|
disconnectViaRequest: () => Promise<void>;
|
|
6091
|
-
private
|
|
6110
|
+
private getValidationPaneBody;
|
|
6111
|
+
private getValidationPane;
|
|
6112
|
+
private getCertificateInfrastructureSkipReason;
|
|
6113
|
+
private closeValidationPane;
|
|
6092
6114
|
}
|
|
6093
6115
|
declare class IPRestrictionsPage {
|
|
6094
6116
|
page: Page;
|
|
@@ -7528,6 +7550,11 @@ declare const AUDIT_LOGS_SELECTORS: {
|
|
|
7528
7550
|
*/
|
|
7529
7551
|
declare const COMMON_SELECTORS: {
|
|
7530
7552
|
emailInputError: string;
|
|
7553
|
+
nuiSelectInput: string;
|
|
7554
|
+
customSelectInput: (label: string) => string;
|
|
7555
|
+
tableWrapper: string;
|
|
7556
|
+
phoneCountryPicker: string;
|
|
7557
|
+
phoneCountryPickerSearch: string;
|
|
7531
7558
|
pane: string;
|
|
7532
7559
|
sideBar: string;
|
|
7533
7560
|
copyButton: string;
|
|
@@ -7562,6 +7589,7 @@ declare const COMMON_SELECTORS: {
|
|
|
7562
7589
|
sheetHeader: string;
|
|
7563
7590
|
sheetWrapper: string;
|
|
7564
7591
|
sheetBody: string;
|
|
7592
|
+
sheetFooter: string;
|
|
7565
7593
|
sheetCloseButton: string;
|
|
7566
7594
|
dialogHeader: string;
|
|
7567
7595
|
dialogBody: string;
|
|
@@ -10452,5 +10480,5 @@ declare class InboundEmailApis {
|
|
|
10452
10480
|
reply: (emailParams: ReplyInboundEmailParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
10453
10481
|
private deliverSource;
|
|
10454
10482
|
}
|
|
10455
|
-
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_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_PLAYWRIGHT_RUN, IS_SHADCN_UI, IS_STAGING_ENV, IS_WEBKIT, 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, SmsApi, SmsUtils, 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, exampleEmail, 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, minutesAgo, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
10483
|
+
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, CERTIFICATE_PROVISION_FAILED_MESSAGE, CERTIFICATE_PROVISION_FAILED_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_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_PLAYWRIGHT_RUN, IS_SHADCN_UI, IS_STAGING_ENV, IS_WEBKIT, 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, SmsApi, SmsUtils, 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, exampleEmail, 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, minutesAgo, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
10456
10484
|
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, EmailMatchCriteria, InboundEmailParams, IntroPageThemeStyle, IntroPageThemeStyleType, OAuthEmailDeliveryProvider, ProjectName, ReplyInboundEmailParams, Sms, SmsFilters, SmsProvider, SmsSearchCriteria, SmsSearchParams, ThemeCategory, ValueOf, WaitForSmsOptions };
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPresent, keysToSnakeCase, hyphenate, humanize, noop as noop$2, isNotPresent, keysToCamelCase, findBy, dynamicArray, truncate, isNotEmpty, isNotEqualDeep, randomPick } from '@bigbinary/neeto-cist';
|
|
1
|
+
import { isPresent, keysToSnakeCase, hyphenate, humanize, noop as noop$2, isNotPresent, keysToCamelCase, findBy, dynamicArray, truncate, isNotEmpty, _findBy, isNotEqualDeep, randomPick } from '@bigbinary/neeto-cist';
|
|
2
2
|
import { faker } from '@faker-js/faker';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import fs__default, { readFileSync, promises, existsSync, writeFileSync, unlinkSync, mkdirSync, rmSync, createWriteStream } from 'fs';
|
|
@@ -374,6 +374,8 @@ const DATE_RANGES = {
|
|
|
374
374
|
};
|
|
375
375
|
const CERTIFICATE_LIMIT_EXCEEDED_REGEXP = `too many certificates \\(\\d+\\) already issued for "${CUSTOM_DOMAIN_SUFFIX}"`;
|
|
376
376
|
const CERTIFICATE_LIMIT_EXCEEDED_MESSAGE = "Certificate limit exceeded for custom domain";
|
|
377
|
+
const CERTIFICATE_PROVISION_FAILED_MESSAGE = "Certificate provisioning failed for custom domain";
|
|
378
|
+
const CERTIFICATE_PROVISION_FAILED_REGEXP = "provisioning certificate for your domain";
|
|
377
379
|
const EXPORT_FILE_TYPES = {
|
|
378
380
|
pdf: "pdf",
|
|
379
381
|
excel: "excel",
|
|
@@ -1032,6 +1034,11 @@ const AUDIT_LOGS_SELECTORS = {
|
|
|
1032
1034
|
|
|
1033
1035
|
const COMMON_SELECTORS = {
|
|
1034
1036
|
emailInputError: "email-input-error",
|
|
1037
|
+
nuiSelectInput: "nui-select-input",
|
|
1038
|
+
customSelectInput: (label) => `${hyphenate(label)}-select-input`,
|
|
1039
|
+
tableWrapper: "table-wrapper",
|
|
1040
|
+
phoneCountryPicker: "phonenumber-country-picker",
|
|
1041
|
+
phoneCountryPickerSearch: "phonenumber-country-picker-search",
|
|
1035
1042
|
pane: "pane-wrapper",
|
|
1036
1043
|
sideBar: "sidebar",
|
|
1037
1044
|
copyButton: "copy-button",
|
|
@@ -1066,6 +1073,7 @@ const COMMON_SELECTORS = {
|
|
|
1066
1073
|
sheetHeader: "sheet-header",
|
|
1067
1074
|
sheetWrapper: "sheet-wrapper",
|
|
1068
1075
|
sheetBody: "sheet-body",
|
|
1076
|
+
sheetFooter: "sheet-footer",
|
|
1069
1077
|
sheetCloseButton: "sheet-close-button",
|
|
1070
1078
|
dialogHeader: "dialog-header",
|
|
1071
1079
|
dialogBody: "dialog-body",
|
|
@@ -120694,7 +120702,8 @@ class EditorPage {
|
|
|
120694
120702
|
await expect(dropdownContainer).toBeHidden();
|
|
120695
120703
|
return moreMenuButtonLocators;
|
|
120696
120704
|
};
|
|
120697
|
-
verifyFontSize = async () =>
|
|
120705
|
+
verifyFontSize = async () => IS_SHADCN_UI ? this.verifyFontSizeV2() : this.verifyFontSizeV1();
|
|
120706
|
+
verifyFontSizeV1 = async () => {
|
|
120698
120707
|
const fontsAndTexts = [];
|
|
120699
120708
|
await this.page
|
|
120700
120709
|
.getByTestId(NEETO_EDITOR_SELECTORS.neetoEditorFixedMenuFontSize)
|
|
@@ -120724,6 +120733,36 @@ class EditorPage {
|
|
|
120724
120733
|
}
|
|
120725
120734
|
return fontsAndTexts;
|
|
120726
120735
|
};
|
|
120736
|
+
verifyFontSizeV2 = async () => {
|
|
120737
|
+
const fontsAndTexts = [];
|
|
120738
|
+
await this.page
|
|
120739
|
+
.getByTestId(NEETO_EDITOR_SELECTORS.neetoEditorFixedMenuFontSize)
|
|
120740
|
+
.click();
|
|
120741
|
+
const dropdownContainer = this.page.getByTestId(COMMON_SELECTORS.dropdownContainer);
|
|
120742
|
+
const headingMenuItems = await dropdownContainer
|
|
120743
|
+
.getByRole("menuitem")
|
|
120744
|
+
.all();
|
|
120745
|
+
const headingLevels = (await Promise.all(headingMenuItems.map(async (menuItem) => {
|
|
120746
|
+
const dataTestid = await menuItem.getAttribute("data-testid");
|
|
120747
|
+
const headingLevel = dataTestid?.split("-").pop();
|
|
120748
|
+
return /^h[1-5]$/.test(headingLevel || "") ? headingLevel : null;
|
|
120749
|
+
}))).filter(Boolean);
|
|
120750
|
+
const fontSizeDropdown = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.fontSize);
|
|
120751
|
+
await fontSizeDropdown.click();
|
|
120752
|
+
await expect(dropdownContainer).toBeHidden();
|
|
120753
|
+
for (const headingLevel of headingLevels) {
|
|
120754
|
+
const fontKey = headingLevel;
|
|
120755
|
+
const randomText = await this.fillRandomText();
|
|
120756
|
+
await fontSizeDropdown.click();
|
|
120757
|
+
await dropdownContainer.getByTestId(FONT_SIZE_SELECTORS[fontKey]).click();
|
|
120758
|
+
await expect(this.contentField.getByRole("heading", {
|
|
120759
|
+
level: Number(headingLevel?.slice(1)),
|
|
120760
|
+
name: randomText,
|
|
120761
|
+
})).toBeVisible();
|
|
120762
|
+
fontsAndTexts.push({ key: fontKey, value: randomText });
|
|
120763
|
+
}
|
|
120764
|
+
return fontsAndTexts;
|
|
120765
|
+
};
|
|
120727
120766
|
verifyTextModifiers = async (modifier, isButtonInMoreMenu) => {
|
|
120728
120767
|
const modifierKey = modifier;
|
|
120729
120768
|
const textModifierRole = TEXT_MODIFIER_ROLES[modifierKey];
|
|
@@ -122012,36 +122051,38 @@ class CustomDomainPage {
|
|
|
122012
122051
|
const validateButton = this.page.getByTestId(CUSTOM_DOMAIN_SELECTORS.customDomainValidateButton);
|
|
122013
122052
|
await Promise.all([
|
|
122014
122053
|
expect(validateButton).toBeVisible(),
|
|
122015
|
-
expect(this.
|
|
122016
|
-
.
|
|
122017
|
-
|
|
122018
|
-
: COMMON_SELECTORS.paneBody)
|
|
122019
|
-
.getByRole("cell", { name: domain.split(".")[0] })).toBeVisible(),
|
|
122054
|
+
expect(this.getValidationPaneBody().getByRole("cell", {
|
|
122055
|
+
name: domain.split(".")[0],
|
|
122056
|
+
})).toBeVisible(),
|
|
122020
122057
|
]);
|
|
122021
122058
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
122022
122059
|
await validateButton.click();
|
|
122023
|
-
|
|
122060
|
+
const subdomain = this.getProductSubdomainFromHostname(domain);
|
|
122061
|
+
const baseURL = baseURLGenerator(this.product, subdomain);
|
|
122062
|
+
let skipReason = null;
|
|
122024
122063
|
await expect(async () => {
|
|
122025
|
-
|
|
122026
|
-
if (
|
|
122064
|
+
skipReason = await this.getCertificateInfrastructureSkipReason();
|
|
122065
|
+
if (skipReason)
|
|
122027
122066
|
return;
|
|
122028
|
-
await this.
|
|
122029
|
-
|
|
122030
|
-
|
|
122031
|
-
|
|
122032
|
-
|
|
122033
|
-
test.skip(true, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE);
|
|
122067
|
+
expect(await this.getDomainStatus(domain, baseURL)).toBe("active");
|
|
122068
|
+
}).toPass({ timeout: 2 * 60_000, intervals: [5_000] });
|
|
122069
|
+
await this.closeValidationPane();
|
|
122070
|
+
if (skipReason) {
|
|
122071
|
+
test.skip(true, skipReason);
|
|
122034
122072
|
return;
|
|
122035
122073
|
}
|
|
122036
|
-
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
122037
122074
|
await expect(validateButton).toBeHidden();
|
|
122038
122075
|
};
|
|
122076
|
+
getProductSubdomainFromHostname = (hostname) => hostname
|
|
122077
|
+
.replace(RegExp(`\\.${CUSTOM_DOMAIN_SUFFIX}$`, "i"), "")
|
|
122078
|
+
.toLowerCase();
|
|
122039
122079
|
getDomainStatus = async (hostname, baseURL) => {
|
|
122040
122080
|
const response = await this.customDomainApi
|
|
122041
122081
|
.fetch(baseURL)
|
|
122042
122082
|
.then(response => response?.json());
|
|
122043
|
-
|
|
122044
|
-
|
|
122083
|
+
return _findBy({
|
|
122084
|
+
hostname: (value) => value?.toLowerCase() === hostname.toLowerCase(),
|
|
122085
|
+
}, response?.custom_domains)?.status;
|
|
122045
122086
|
};
|
|
122046
122087
|
loginToCustomDomain = async () => {
|
|
122047
122088
|
await this.page.close();
|
|
@@ -122169,10 +122210,32 @@ class CustomDomainPage {
|
|
|
122169
122210
|
return;
|
|
122170
122211
|
await Promise.all(customDomains.map(({ hostname }) => this.customDomainApi.delete(hostname)));
|
|
122171
122212
|
};
|
|
122172
|
-
|
|
122173
|
-
|
|
122174
|
-
|
|
122175
|
-
.
|
|
122213
|
+
getValidationPaneBody = () => this.page.getByTestId(IS_SHADCN_UI ? COMMON_SELECTORS.sheetWrapper : COMMON_SELECTORS.paneBody);
|
|
122214
|
+
getValidationPane = () => this.page.getByTestId(IS_SHADCN_UI ? COMMON_SELECTORS.sheetWrapper : COMMON_SELECTORS.pane);
|
|
122215
|
+
getCertificateInfrastructureSkipReason = async () => {
|
|
122216
|
+
const pane = this.getValidationPaneBody();
|
|
122217
|
+
if (await pane
|
|
122218
|
+
.getByText(RegExp(CERTIFICATE_LIMIT_EXCEEDED_REGEXP, "i"))
|
|
122219
|
+
.isVisible()) {
|
|
122220
|
+
return CERTIFICATE_LIMIT_EXCEEDED_MESSAGE;
|
|
122221
|
+
}
|
|
122222
|
+
const message = this.t("neetoCustomDomains.certificateProvisionFailed");
|
|
122223
|
+
const [hasProvisionFailedMessage, hasProvisionFailedFallback] = await Promise.all([
|
|
122224
|
+
pane.getByText(message).isVisible(),
|
|
122225
|
+
pane
|
|
122226
|
+
.getByText(RegExp(CERTIFICATE_PROVISION_FAILED_REGEXP, "i"))
|
|
122227
|
+
.isVisible(),
|
|
122228
|
+
]);
|
|
122229
|
+
if (hasProvisionFailedMessage || hasProvisionFailedFallback) {
|
|
122230
|
+
return CERTIFICATE_PROVISION_FAILED_MESSAGE;
|
|
122231
|
+
}
|
|
122232
|
+
return null;
|
|
122233
|
+
};
|
|
122234
|
+
closeValidationPane = async () => {
|
|
122235
|
+
const cancelButton = this.getValidationPane().getByTestId(COMMON_SELECTORS.cancelButton);
|
|
122236
|
+
if (await cancelButton.isVisible())
|
|
122237
|
+
await cancelButton.click();
|
|
122238
|
+
};
|
|
122176
122239
|
}
|
|
122177
122240
|
|
|
122178
122241
|
class IPRestrictionsPage {
|
|
@@ -127388,4 +127451,4 @@ class InboundEmailApis {
|
|
|
127388
127451
|
};
|
|
127389
127452
|
}
|
|
127390
127453
|
|
|
127391
|
-
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_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_PLAYWRIGHT_RUN, IS_SHADCN_UI, IS_STAGING_ENV, IS_WEBKIT, 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, SmsApi, SmsUtils, 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, exampleEmail, 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, minutesAgo, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
127454
|
+
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, CERTIFICATE_PROVISION_FAILED_MESSAGE, CERTIFICATE_PROVISION_FAILED_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_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_PLAYWRIGHT_RUN, IS_SHADCN_UI, IS_STAGING_ENV, IS_WEBKIT, 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, SmsApi, SmsUtils, 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, exampleEmail, 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, minutesAgo, 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.8.
|
|
3
|
+
"version": "4.8.6",
|
|
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",
|