@bigbinary/neeto-playwright-commons 1.24.4 → 1.24.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.
- package/index.cjs.js +82 -33
- package/index.cjs.js.map +1 -1
- package/index.d.ts +529 -476
- package/index.js +82 -35
- package/index.js.map +1 -1
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import test, { expect, test as test$1, chromium as chromium$1, defineConfig, dev
|
|
|
6
6
|
import { getI18nInstance, initI18n } from 'playwright-i18next-fixture';
|
|
7
7
|
import require$$0$4 from 'util';
|
|
8
8
|
import { curry, not, isEmpty, pluck, mergeDeepLeft, isNil, isNotNil, mergeAll } from 'ramda';
|
|
9
|
-
import { hyphenate, isPresent, isNotPresent, humanize, keysToSnakeCase, dynamicArray, truncate, isNotEmpty,
|
|
9
|
+
import { hyphenate, isPresent, isNotPresent, humanize, keysToSnakeCase, dynamicArray, findBy, truncate, isNotEmpty, isNotEqualDeep, randomPick } from '@bigbinary/neeto-cist';
|
|
10
10
|
import { execSync } from 'child_process';
|
|
11
11
|
import { faker } from '@faker-js/faker';
|
|
12
12
|
import dayjs from 'dayjs';
|
|
@@ -4424,6 +4424,11 @@ const DATE_RANGES = {
|
|
|
4424
4424
|
};
|
|
4425
4425
|
const CERTIFICATE_LIMIT_EXCEEDED_REGEXP = `too many certificates \\(\\d+\\) already issued for "${CUSTOM_DOMAIN_SUFFIX}"`;
|
|
4426
4426
|
const CERTIFICATE_LIMIT_EXCEEDED_MESSAGE = "Certificate limit exceeded for custom domain";
|
|
4427
|
+
const EXPORT_FILE_TYPES = {
|
|
4428
|
+
pdf: "pdf",
|
|
4429
|
+
excel: "excel",
|
|
4430
|
+
csv: "csv",
|
|
4431
|
+
};
|
|
4427
4432
|
|
|
4428
4433
|
const COMMON_SELECTORS = {
|
|
4429
4434
|
emailInputError: "email-input-error",
|
|
@@ -4577,6 +4582,7 @@ const COMMON_SELECTORS = {
|
|
|
4577
4582
|
columnSortableItem: "column-sortable-item",
|
|
4578
4583
|
columnsDropdownIcon: "columns-dropdown-icon",
|
|
4579
4584
|
columnDragHandle: "column-drag-handle",
|
|
4585
|
+
reactSelectContainer: ".neeto-ui-react-select__container",
|
|
4580
4586
|
};
|
|
4581
4587
|
|
|
4582
4588
|
const THANK_YOU_SELECTORS = {
|
|
@@ -5631,15 +5637,18 @@ class CustomCommands {
|
|
|
5631
5637
|
await expect(breadcrumbHeader).toHaveCount(titlesAndRoutes.length);
|
|
5632
5638
|
await Promise.all(titlesAndRoutes.map(({ title, route }) => expect(breadcrumbHeader.getByRole("link", { name: title, exact: true })).toHaveAttribute("href", route)));
|
|
5633
5639
|
};
|
|
5634
|
-
this.uploadFileViaDispatchV2 = async ({ droppableZone = this.page.getByTestId(COMMON_SELECTORS.fileUploadBody), dispatchEvent = "drop", file, }) => {
|
|
5640
|
+
this.uploadFileViaDispatchV2 = async ({ droppableZone = this.page.getByTestId(COMMON_SELECTORS.fileUploadBody), dispatchEvent = "drop", timeout = 30000, file, }) => {
|
|
5635
5641
|
const serializedFile = await serializeFileForBrowser(file);
|
|
5636
|
-
const dataTransfer = await
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5642
|
+
const dataTransfer = await Promise.race([
|
|
5643
|
+
droppableZone.evaluateHandle(async (_, { name, type, buffer, lastModified }) => {
|
|
5644
|
+
const uint8Array = new Uint8Array(buffer);
|
|
5645
|
+
const file = new File([uint8Array], name, { type, lastModified });
|
|
5646
|
+
const dataTransfer = new DataTransfer();
|
|
5647
|
+
dataTransfer.items.add(file);
|
|
5648
|
+
return dataTransfer;
|
|
5649
|
+
}, serializedFile),
|
|
5650
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("File injection timed out")), timeout)),
|
|
5651
|
+
]);
|
|
5643
5652
|
await droppableZone.dispatchEvent(dispatchEvent, { dataTransfer });
|
|
5644
5653
|
};
|
|
5645
5654
|
this.verifyUnsavedChangesModal = async (shouldLeavePage = false) => {
|
|
@@ -116936,6 +116945,20 @@ class Member {
|
|
|
116936
116945
|
email: faker.internet.exampleEmail(),
|
|
116937
116946
|
role,
|
|
116938
116947
|
}));
|
|
116948
|
+
this.getUserIdViaAPI = async (email) => {
|
|
116949
|
+
const response = await this.memberApis.fetch();
|
|
116950
|
+
const { members } = (await (response === null || response === void 0 ? void 0 : response.json()));
|
|
116951
|
+
const member = findBy({ email }, members);
|
|
116952
|
+
return member === null || member === void 0 ? void 0 : member.id;
|
|
116953
|
+
};
|
|
116954
|
+
this.updateEmailViaAPI = async ({ oldEmail, newEmail, role = "Admin", }) => {
|
|
116955
|
+
const userId = await this.getUserIdViaAPI(oldEmail);
|
|
116956
|
+
await this.memberApis.update(userId, keysToSnakeCase({
|
|
116957
|
+
organizationRole: role,
|
|
116958
|
+
email: newEmail,
|
|
116959
|
+
active: true,
|
|
116960
|
+
}));
|
|
116961
|
+
};
|
|
116939
116962
|
this.memberApis = new MemberApis(neetoPlaywrightUtilities);
|
|
116940
116963
|
}
|
|
116941
116964
|
}
|
|
@@ -117609,6 +117632,31 @@ class ImageUploader {
|
|
|
117609
117632
|
}
|
|
117610
117633
|
}
|
|
117611
117634
|
|
|
117635
|
+
const openFilterPane = async (page) => {
|
|
117636
|
+
await page.getByTestId(NEETO_FILTERS_SELECTORS.filterButton).click();
|
|
117637
|
+
await expect(page.getByTestId(COMMON_SELECTORS.paneHeader)).toHaveText(getI18nInstance().t("neetoFilters.common.filters"));
|
|
117638
|
+
};
|
|
117639
|
+
const clearFiltersFromActionBlock = async (page) => {
|
|
117640
|
+
const isClearButtonVisible = await page
|
|
117641
|
+
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)
|
|
117642
|
+
.isVisible();
|
|
117643
|
+
if (isClearButtonVisible) {
|
|
117644
|
+
await page
|
|
117645
|
+
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)
|
|
117646
|
+
.click();
|
|
117647
|
+
await Promise.all([
|
|
117648
|
+
expect(page.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)).toBeHidden(),
|
|
117649
|
+
expect(page.locator(COMMON_SELECTORS.tableSpinner)).toHaveCount(0, {
|
|
117650
|
+
timeout: 15000,
|
|
117651
|
+
}),
|
|
117652
|
+
]);
|
|
117653
|
+
}
|
|
117654
|
+
};
|
|
117655
|
+
const filterUtils = {
|
|
117656
|
+
openFilterPane,
|
|
117657
|
+
clearFiltersFromActionBlock,
|
|
117658
|
+
};
|
|
117659
|
+
|
|
117612
117660
|
class TeamMembers {
|
|
117613
117661
|
constructor({ page, neetoPlaywrightUtilities, }) {
|
|
117614
117662
|
this.navigateToTeamMembers = async () => {
|
|
@@ -117808,6 +117856,26 @@ class TeamMembers {
|
|
|
117808
117856
|
.getByTestId(NEETO_FILTERS_SELECTORS.filterDoneButton)
|
|
117809
117857
|
.click();
|
|
117810
117858
|
};
|
|
117859
|
+
this.exportDetails = async (fileType, adminEmail) => {
|
|
117860
|
+
await this.page.getByTestId(MEMBER_SELECTORS.downloadButton).click();
|
|
117861
|
+
await expect(this.page.getByTestId(MEMBER_SELECTORS.exportMemberHeading)).toHaveText(this.t("neetoTeamMembers.exportPane.title"));
|
|
117862
|
+
await this.page
|
|
117863
|
+
.getByTestId(MEMBER_SELECTORS.downloadAsRadioItem(fileType))
|
|
117864
|
+
.check();
|
|
117865
|
+
const exportStartTime = new Date();
|
|
117866
|
+
await this.page.getByTestId(MEMBER_SELECTORS.exportSubmitBtn).click();
|
|
117867
|
+
await this.neetoPlaywrightUtilities.verifyToast({
|
|
117868
|
+
message: this.t("toastr.success.exportMembers", { email: adminEmail }),
|
|
117869
|
+
});
|
|
117870
|
+
return exportStartTime;
|
|
117871
|
+
};
|
|
117872
|
+
this.verifyNoDataTitle = async (email) => {
|
|
117873
|
+
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
117874
|
+
await this.page.getByTestId(MEMBER_SELECTORS.searchTextField).fill(email);
|
|
117875
|
+
await expect(this.page.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)).toBeVisible();
|
|
117876
|
+
await expect(this.page.getByTestId(COMMON_SELECTORS.noDataTitle)).toBeVisible({ timeout: 10000 });
|
|
117877
|
+
await filterUtils.clearFiltersFromActionBlock(this.page);
|
|
117878
|
+
};
|
|
117811
117879
|
this.page = page;
|
|
117812
117880
|
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
117813
117881
|
this.t = getI18nInstance().t;
|
|
@@ -118640,6 +118708,10 @@ const FILE_FORMATS = {
|
|
|
118640
118708
|
gif: "gif",
|
|
118641
118709
|
};
|
|
118642
118710
|
|
|
118711
|
+
const TEAM_MEMBER_TEXTS = {
|
|
118712
|
+
emailSubject: "Your team members export is here",
|
|
118713
|
+
};
|
|
118714
|
+
|
|
118643
118715
|
const PHONE_NUMBER_FORMATS = [
|
|
118644
118716
|
{ name: "Afghanistan", code: "+93", format: "70#######", flag: "🇦🇫" },
|
|
118645
118717
|
{ name: "Aland", code: "+358", format: "5####", flag: "🇦🇽" },
|
|
@@ -119149,31 +119221,6 @@ const executeWithThrottledResources = async ({ code: emulatedCode, kind = "both"
|
|
|
119149
119221
|
await cpuThrottlingUsingCDP({ cdpSession, rate: 1 });
|
|
119150
119222
|
};
|
|
119151
119223
|
|
|
119152
|
-
const openFilterPane = async (page) => {
|
|
119153
|
-
await page.getByTestId(NEETO_FILTERS_SELECTORS.filterButton).click();
|
|
119154
|
-
await expect(page.getByTestId(COMMON_SELECTORS.paneHeader)).toHaveText(getI18nInstance().t("neetoFilters.common.filters"));
|
|
119155
|
-
};
|
|
119156
|
-
const clearFiltersFromActionBlock = async (page) => {
|
|
119157
|
-
const isClearButtonVisible = await page
|
|
119158
|
-
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)
|
|
119159
|
-
.isVisible();
|
|
119160
|
-
if (isClearButtonVisible) {
|
|
119161
|
-
await page
|
|
119162
|
-
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)
|
|
119163
|
-
.click();
|
|
119164
|
-
await Promise.all([
|
|
119165
|
-
expect(page.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)).toBeHidden(),
|
|
119166
|
-
expect(page.locator(COMMON_SELECTORS.tableSpinner)).toHaveCount(0, {
|
|
119167
|
-
timeout: 15000,
|
|
119168
|
-
}),
|
|
119169
|
-
]);
|
|
119170
|
-
}
|
|
119171
|
-
};
|
|
119172
|
-
const filterUtils = {
|
|
119173
|
-
openFilterPane,
|
|
119174
|
-
clearFiltersFromActionBlock,
|
|
119175
|
-
};
|
|
119176
|
-
|
|
119177
119224
|
const getAmountWithSymbol = (amount, options) => {
|
|
119178
119225
|
const formatter = new Intl.NumberFormat(dayjs.locale(), {
|
|
119179
119226
|
...options,
|
|
@@ -124013,5 +124060,5 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
124013
124060
|
});
|
|
124014
124061
|
};
|
|
124015
124062
|
|
|
124016
|
-
export { ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_TEXTS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXPANDED_FONT_SIZE, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SELECT_COUNTRY, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouPage, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
124063
|
+
export { ADMIN_PANEL_SELECTORS, API_KEYS_SELECTORS, API_ROUTES, AUDIT_LOGS_TEXTS, AdminPanelPage, ApiKeysApi, ApiKeysPage, AuditLogsPage, BASE_URL, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, CustomCommands, CustomDomainApi, CustomDomainPage, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmbedBase, FILE_FORMATS, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RoleApis, RolesPage, SELECT_COUNTRY, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, ThankYouPage, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, headerUtils, hexToRGB, hexToRGBA, hyphenize, i18nFixture, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, joinHyphenCase, joinString, login, loginWithoutSSO, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
|
|
124017
124064
|
//# sourceMappingURL=index.js.map
|