@bigbinary/neeto-playwright-commons 1.21.4 → 1.22.0
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/configs/eslint/common.js +112 -79
- package/configs/eslint/host.js +30 -5
- package/index.cjs.js +956 -932
- package/index.cjs.js.map +1 -1
- package/index.js +956 -932
- package/index.js.map +1 -1
- package/package.json +10 -5
package/index.cjs.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
var fs$d = require('fs');
|
|
4
4
|
var Path = require('path');
|
|
5
5
|
var test$1 = require('@playwright/test');
|
|
6
|
-
var neetoCist = require('@bigbinary/neeto-cist');
|
|
7
|
-
var child_process = require('child_process');
|
|
8
|
-
var ramda = require('ramda');
|
|
9
6
|
var playwrightI18nextFixture = require('playwright-i18next-fixture');
|
|
10
7
|
var require$$0$2 = require('util');
|
|
8
|
+
var ramda = require('ramda');
|
|
9
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
10
|
+
var child_process = require('child_process');
|
|
11
11
|
var faker = require('@faker-js/faker');
|
|
12
12
|
var Stream$4 = require('stream');
|
|
13
13
|
var require$$0$4 = require('node:buffer');
|
|
@@ -124,844 +124,6 @@ let TagsApi$1 = class TagsApi {
|
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
|
|
127
|
-
const COMMON_SELECTORS = {
|
|
128
|
-
emailInputError: "email-input-error",
|
|
129
|
-
pane: "pane-wrapper",
|
|
130
|
-
sideBar: "sidebar",
|
|
131
|
-
copyButton: "copy-button",
|
|
132
|
-
resetButton: "reset-button",
|
|
133
|
-
spinner: ".neeto-ui-spinner",
|
|
134
|
-
uiSpinner: "neeto-ui-spinner",
|
|
135
|
-
subheaderText: "subheader-left",
|
|
136
|
-
alertTitle: "alert-title",
|
|
137
|
-
alertModalMessage: "alert-message",
|
|
138
|
-
alertModalSubmitButton: "alert-submit-button",
|
|
139
|
-
checkbox: "nui-checkbox-input",
|
|
140
|
-
checkboxLabel: "nui-checkbox-label",
|
|
141
|
-
dropdownContainer: "nui-dropdown-container",
|
|
142
|
-
dropdownIcon: "nui-dropdown-icon",
|
|
143
|
-
heading: "main-header",
|
|
144
|
-
paneBody: "pane-body",
|
|
145
|
-
paneHeader: "pane-header",
|
|
146
|
-
profileSidebar: "profile-section",
|
|
147
|
-
selectOption: (label) => `${neetoCist.hyphenate(label)}-select-option`,
|
|
148
|
-
radioLabel: (embedLabel) => `${neetoCist.hyphenate(embedLabel)}-radio-label`,
|
|
149
|
-
toastMessage: (type) => `toastr-${type}-container`,
|
|
150
|
-
toastCloseButton: "toastr-close-button",
|
|
151
|
-
windowAlert: "#alert-box",
|
|
152
|
-
body: "body",
|
|
153
|
-
toastIcon: ".Toastify__toast-icon",
|
|
154
|
-
toastContainer: ".Toastify__toast-container",
|
|
155
|
-
paneModalCrossIcon: "pane-close-button",
|
|
156
|
-
inputField: "nui-input-field",
|
|
157
|
-
alertBox: "alert-box",
|
|
158
|
-
tableContainer: "table-container",
|
|
159
|
-
alertConfirmationText: "alert-confirmation-text",
|
|
160
|
-
alertCancelButton: "alert-cancel-button",
|
|
161
|
-
alertModalCrossIcon: "modal-close-button",
|
|
162
|
-
saveChangesButton: "save-changes-button",
|
|
163
|
-
cancelButton: "cancel-button",
|
|
164
|
-
inputFieldError: "nui-input-error",
|
|
165
|
-
selectDropDownError: "nui-select-error",
|
|
166
|
-
subTitleHeading: "menubar-subtitle-heading",
|
|
167
|
-
noDataTitle: "no-data-title",
|
|
168
|
-
noDataDescription: "no-data-description",
|
|
169
|
-
noDataHelpText: "no-data-help-text",
|
|
170
|
-
backdrop: "neeto-backdrop",
|
|
171
|
-
menuBarHeading: "menubar-heading",
|
|
172
|
-
dropdownWrapper: "nui-select-container-wrapper",
|
|
173
|
-
toggleButton: "menubar-toggle-button",
|
|
174
|
-
tooltip: "tooltip-box",
|
|
175
|
-
articlePageTitle: ".serene-article__title",
|
|
176
|
-
tabItem: "tab-item",
|
|
177
|
-
labelInputError: "label-input-error",
|
|
178
|
-
urlInputError: "url-input-error",
|
|
179
|
-
noDataPrimaryButton: "no-data-primary-button",
|
|
180
|
-
modalHeader: "modal-header",
|
|
181
|
-
nameInputError: "name-input-error",
|
|
182
|
-
selectContainer: "nui-select-container",
|
|
183
|
-
dropdownMenu: "nui-select-menu",
|
|
184
|
-
sidebarToggle: "neeto-molecules-sidebar-toggler",
|
|
185
|
-
subheader: "subheader",
|
|
186
|
-
settingsLink: "Settings",
|
|
187
|
-
ticketFieldTextInput: (label) => `${neetoCist.hyphenate(label)}-text-input`,
|
|
188
|
-
appSwitcherButton: "product-switcher-button",
|
|
189
|
-
appSwitcherWrapper: "switcher-wrapper",
|
|
190
|
-
appLink: (appName) => `${appName}-app-link`,
|
|
191
|
-
tableSpinner: ".ant-spin",
|
|
192
|
-
pageLoader: "neeto-molecules-pageloader",
|
|
193
|
-
homeButton: "home-button",
|
|
194
|
-
neetoUiSwitch: "nui-switch",
|
|
195
|
-
floatingActionMenuButton: "floating-action-menu-container",
|
|
196
|
-
columnsDropdownContainer: "show/hide-columns-dropdown-container",
|
|
197
|
-
columnsDropdownButton: "columns-dropdown-button",
|
|
198
|
-
breadcrumbHeader: "header-breadcrumb",
|
|
199
|
-
header: "neeto-molecules-header",
|
|
200
|
-
sidebarSubLink: (label) => `${neetoCist.hyphenate(label)}-sub-link`,
|
|
201
|
-
sidebarGoBackButton: (label) => `${neetoCist.hyphenate(label)}-go-back-button`,
|
|
202
|
-
selectSingleValue: "select-single-value",
|
|
203
|
-
actionSelectIndicator: "action-select-indicator",
|
|
204
|
-
takeActionDropdown: "take-action-dropdown-icon",
|
|
205
|
-
columnsSearchInput: "neeto-ui-columns-search",
|
|
206
|
-
errorToastIcon: "error-toast-icon",
|
|
207
|
-
nuiRadioLabel: "nui-radio-label",
|
|
208
|
-
submitButton: "submit-button",
|
|
209
|
-
tableRow: ".ant-table-row",
|
|
210
|
-
navigationHeaderLeftBlock: "navigation-header-left-block",
|
|
211
|
-
fileUploadBody: "file-upload-body",
|
|
212
|
-
modalBody: "modal-body",
|
|
213
|
-
modalForever: "modal-footer",
|
|
214
|
-
navigationHeader: "navigation-header",
|
|
215
|
-
buttonSpinner: ".neeto-ui-btn__spinner",
|
|
216
|
-
pendingTagContainer: "pending-tag-container",
|
|
217
|
-
nextYearButton: "next-year-button",
|
|
218
|
-
popoverTitle: "popover-title",
|
|
219
|
-
productSwitcherSearchInput: "product-switcher-search-input",
|
|
220
|
-
helpPopoverButton: "help-popover-button",
|
|
221
|
-
helpPopoverDesc: "help-popover-description",
|
|
222
|
-
helpPopoverLinkButton: "help-popover-link-button",
|
|
223
|
-
copyToClipboardButton: "copy-to-clipboard-button",
|
|
224
|
-
subheaderRight: "subheader-right",
|
|
225
|
-
secretKeyInputField: "secret-key-input-field",
|
|
226
|
-
activeSwitch: "active-switch",
|
|
227
|
-
labelInputField: "label-input-field",
|
|
228
|
-
imageUploadModal: "tab-container",
|
|
229
|
-
neetoLogo: "sidebar-info",
|
|
230
|
-
clearSelectIndicator: "clear-select-indicator",
|
|
231
|
-
menubarContainer: "menubar-container",
|
|
232
|
-
multiEmailInputContainer: "multi-email-input-container",
|
|
233
|
-
linkInputError: "link-input-error",
|
|
234
|
-
continueButton: "continue-button",
|
|
235
|
-
clearAllButton: "clear-all-button",
|
|
236
|
-
requiredSwitch: "required-switch",
|
|
237
|
-
customSwitch: (switchLabel) => `${neetoCist.hyphenate(switchLabel)}-switch`,
|
|
238
|
-
customMenuItem: (label) => `${neetoCist.hyphenate(label)}-menu-item`,
|
|
239
|
-
customInputLabel: (name = "nui") => `${neetoCist.hyphenate(name)}-input-label`,
|
|
240
|
-
customInputField: (name = "nui") => `${neetoCist.hyphenate(name)}-input-field`,
|
|
241
|
-
customSelectContainer: (name) => `${neetoCist.hyphenate(name)}-select-container`,
|
|
242
|
-
customSelectContainerWrapper: (label) => `${neetoCist.hyphenate(label)}-select-container-wrapper`,
|
|
243
|
-
customSelectValueContainer: (label = "nui") => `${neetoCist.hyphenate(label)}-select-value-container`,
|
|
244
|
-
customCheckboxLabel: (name) => `${neetoCist.hyphenate(name)}-checkbox-label`,
|
|
245
|
-
errorImage: "error-image",
|
|
246
|
-
customDropdownIcon: (label = "nui") => `${neetoCist.hyphenate(label)}-dropdown-icon`,
|
|
247
|
-
customDropdownContainer: (label = "nui") => `${neetoCist.hyphenate(label)}-dropdown-container`,
|
|
248
|
-
checkboxInput: (option = "i-agree") => `${neetoCist.hyphenate(option)}-checkbox-input`,
|
|
249
|
-
radioInput: (option = "i-agree") => `${neetoCist.hyphenate(option)}-radio-input`,
|
|
250
|
-
selectOptionError: (option) => `${neetoCist.hyphenate(option)}-select-error`,
|
|
251
|
-
customDropDownMenu: (label = "nui") => `${neetoCist.hyphenate(label)}-select-menu`,
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
const THANK_YOU_SELECTORS = {
|
|
255
|
-
settingsLink: "thank-you-settings-link",
|
|
256
|
-
showSocialShareIconsSwitch: "show-social-share-icons-switch",
|
|
257
|
-
showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
|
|
258
|
-
submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
|
|
259
|
-
previewEditorContent: "preview-editor-content",
|
|
260
|
-
redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
|
|
261
|
-
thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
|
|
262
|
-
saveChangesButton: "neeto-thank-you-configuration-save-button",
|
|
263
|
-
cancelButton: "neeto-thank-you-configuration-cancel-button",
|
|
264
|
-
thankYouPageImage: "thank-you-page-image",
|
|
265
|
-
thankYouPageMessage: "thank-you-page-message",
|
|
266
|
-
thankYouPageContent: "thank-you-page-content",
|
|
267
|
-
thankYouPageResubmitLink: "thank-you-page-resubmit-link",
|
|
268
|
-
linkInputField: "link-input-field",
|
|
269
|
-
previewImage: "preview-image",
|
|
270
|
-
thankYouMessageEditor: "thank-you-message-editor",
|
|
271
|
-
thankYouMessageWrapper: "thank-you-message-wrapper",
|
|
272
|
-
};
|
|
273
|
-
|
|
274
|
-
const ENVIRONMENT = {
|
|
275
|
-
development: "development",
|
|
276
|
-
staging: "staging",
|
|
277
|
-
review: "review",
|
|
278
|
-
};
|
|
279
|
-
const IS_STAGING_ENV = process.env.TEST_ENV === "staging";
|
|
280
|
-
const STORAGE_STATE = "./e2e/auth/user.json";
|
|
281
|
-
const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/translations/en.json";
|
|
282
|
-
const PROJECT_TRANSLATIONS_PATH = "../app/javascript/src/translations/en.json";
|
|
283
|
-
const CREDENTIALS = {
|
|
284
|
-
name: "Oliver Smith",
|
|
285
|
-
email: "oliver@example.com",
|
|
286
|
-
password: "welcome",
|
|
287
|
-
};
|
|
288
|
-
const OTP_EMAIL_PATTERN = "is your login code";
|
|
289
|
-
const SLACK_DEFAULT_CHANNEL = "general";
|
|
290
|
-
const CUSTOM_DOMAIN_SUFFIX = "aceinvoice.com";
|
|
291
|
-
const ZAPIER_TEST_EMAIL = (product) => `neeto-${product}-zapier-test@${process.env.FASTMAIL_DOMAIN_NAME}`;
|
|
292
|
-
// constants for translation
|
|
293
|
-
const SINGULAR = { count: 1 };
|
|
294
|
-
const PLURAL = { count: 2 };
|
|
295
|
-
const COLOR = {
|
|
296
|
-
transparent: "rgba(0, 0, 0, 0)",
|
|
297
|
-
softBlue: "rgb(230, 244, 255)",
|
|
298
|
-
};
|
|
299
|
-
const DATE_TEXTS = { now: "Now", nextYear: "next-year" };
|
|
300
|
-
const EMPTY_STORAGE_STATE = {
|
|
301
|
-
storageState: { cookies: [], origins: [] },
|
|
302
|
-
};
|
|
303
|
-
|
|
304
|
-
/* eslint-disable playwright/no-skipped-test */
|
|
305
|
-
const execCommand = (command) => child_process.execSync(command)
|
|
306
|
-
.toString("utf-8")
|
|
307
|
-
.replace(/[\n\r\s]+$/, "");
|
|
308
|
-
const joinString = (string1, string2, string3 = "", separator = " ") => {
|
|
309
|
-
if (string3 === "") {
|
|
310
|
-
return string1 + separator + string2;
|
|
311
|
-
}
|
|
312
|
-
return string1 + separator + string2 + separator + string3;
|
|
313
|
-
};
|
|
314
|
-
const readFileSyncIfExists = (path = STORAGE_STATE) => {
|
|
315
|
-
try {
|
|
316
|
-
return JSON.parse(fs__namespace.readFileSync(path, "utf8"));
|
|
317
|
-
}
|
|
318
|
-
catch (error) {
|
|
319
|
-
return {};
|
|
320
|
-
}
|
|
321
|
-
};
|
|
322
|
-
const getGlobalUserState = () => { var _a; return (_a = readFileSyncIfExists()) === null || _a === void 0 ? void 0 : _a.user; };
|
|
323
|
-
const writeDataToFile = data => {
|
|
324
|
-
try {
|
|
325
|
-
fs__namespace.writeFileSync(STORAGE_STATE, data, "utf8");
|
|
326
|
-
}
|
|
327
|
-
catch (error) {
|
|
328
|
-
console.log(error); // eslint-disable-line
|
|
329
|
-
}
|
|
330
|
-
return true;
|
|
331
|
-
};
|
|
332
|
-
const updateCredentials = ({ key, value }) => {
|
|
333
|
-
const data = readFileSyncIfExists();
|
|
334
|
-
data["user"][key] = value;
|
|
335
|
-
return writeDataToFile(JSON.stringify(data));
|
|
336
|
-
};
|
|
337
|
-
const removeCredentialFile = () => {
|
|
338
|
-
fs__namespace.unlink(STORAGE_STATE, error => {
|
|
339
|
-
if (!error)
|
|
340
|
-
return;
|
|
341
|
-
console.log(error); // eslint-disable-line
|
|
342
|
-
});
|
|
343
|
-
};
|
|
344
|
-
const clearCredentials = () => {
|
|
345
|
-
if (shouldSkipSetupAndTeardown())
|
|
346
|
-
return;
|
|
347
|
-
removeCredentialFile();
|
|
348
|
-
};
|
|
349
|
-
/**
|
|
350
|
-
* @deprecated Use hyphenate from neeto-cist instead.
|
|
351
|
-
*/
|
|
352
|
-
const hyphenize = input => {
|
|
353
|
-
const fallbackString = "";
|
|
354
|
-
if (typeof input === "number")
|
|
355
|
-
return String(input);
|
|
356
|
-
if (input && typeof input === "string" && input.replace) {
|
|
357
|
-
return input
|
|
358
|
-
.replace(/[\s_]/g, "-")
|
|
359
|
-
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
360
|
-
.replace(/-+/g, "-")
|
|
361
|
-
.toLowerCase();
|
|
362
|
-
}
|
|
363
|
-
return fallbackString;
|
|
364
|
-
};
|
|
365
|
-
const joinHyphenCase = (...args) => args.join(" ").replace(/\s+/g, "-").toLowerCase();
|
|
366
|
-
const skipTest = {
|
|
367
|
-
forDevelopmentEnv: () => test$1.skip(process.env.TEST_ENV === ENVIRONMENT.development),
|
|
368
|
-
forReviewEnv: () => test$1.skip(process.env.TEST_ENV === ENVIRONMENT.review),
|
|
369
|
-
forAllExceptStagingEnv: () => test$1.skip(process.env.TEST_ENV !== ENVIRONMENT.staging),
|
|
370
|
-
forNonNightlyRun: () => {
|
|
371
|
-
const currentBranch = execCommand("git rev-parse --abbrev-ref HEAD");
|
|
372
|
-
const isNightlyRun = currentBranch === "main" &&
|
|
373
|
-
process.env.TEST_ENV === ENVIRONMENT.staging &&
|
|
374
|
-
!!process.env.NEETO_CI_JOB_ID;
|
|
375
|
-
return test$1.skip(ramda.not(isNightlyRun), "Run test only in playwright-nightly");
|
|
376
|
-
},
|
|
377
|
-
ifNotWithinAllowedNightlyHours: ({ reason, allowedNightlyRunHours = [0, 6, 12, 18], }) => {
|
|
378
|
-
skipTest.forNonNightlyRun();
|
|
379
|
-
const currentDate = new Date();
|
|
380
|
-
const day = currentDate.getUTCDay();
|
|
381
|
-
const hour = currentDate.getUTCHours();
|
|
382
|
-
const isAllowedNightlyRun = 0 < day && day < 6 && allowedNightlyRunHours.includes(hour);
|
|
383
|
-
test$1.skip(ramda.not(isAllowedNightlyRun), `Nightly run is skipped due to ${reason}`);
|
|
384
|
-
},
|
|
385
|
-
};
|
|
386
|
-
const shouldSkipSetupAndTeardown = () => { var _a; return ((_a = getGlobalUserState()) === null || _a === void 0 ? void 0 : _a.isLoggedIn) && process.env.SKIP_SETUP === "true"; };
|
|
387
|
-
const shouldSkipCustomDomainSetup = () => process.env.SETUP_CUSTOM_DOMAIN !== "true" || !IS_STAGING_ENV;
|
|
388
|
-
const baseURLGenerator = (product, customSubdomain) => {
|
|
389
|
-
const { subdomainName } = getGlobalUserState();
|
|
390
|
-
return `https://${customSubdomain !== null && customSubdomain !== void 0 ? customSubdomain : subdomainName}.neeto${product.toLowerCase()}.net`;
|
|
391
|
-
};
|
|
392
|
-
// trims and replaces multiple whitespace characters in a string with a single space
|
|
393
|
-
const squish = (text) => text.trim().replace(/\s+/g, " ");
|
|
394
|
-
const toCamelCase = (string) => string.toLowerCase().replace(/( \w)/g, letter => letter[1].toUpperCase());
|
|
395
|
-
const getByDataQA = ramda.curry((page, dataQa) => {
|
|
396
|
-
if (typeof dataQa === "string") {
|
|
397
|
-
// eslint-disable-next-line playwright/no-raw-locators
|
|
398
|
-
return page.locator(`[data-qa='${dataQa}']`);
|
|
399
|
-
}
|
|
400
|
-
// eslint-disable-next-line playwright/no-raw-locators
|
|
401
|
-
return page
|
|
402
|
-
.locator(`[data-qa='${dataQa[0]}']`)
|
|
403
|
-
.locator(`[data-qa='${dataQa[1]}']`);
|
|
404
|
-
});
|
|
405
|
-
const getListCount = async ({ page, countSelector, }) => {
|
|
406
|
-
const countText = await page.getByTestId(countSelector).textContent();
|
|
407
|
-
return Number(countText === null || countText === void 0 ? void 0 : countText.trim().split(" ")[0]);
|
|
408
|
-
};
|
|
409
|
-
const getGlobalUserProps = async (page) => (await page.evaluate(() => window.globalProps.user));
|
|
410
|
-
const getClipboardContent = (page) => page.evaluate(() => navigator.clipboard.readText());
|
|
411
|
-
const globalShortcuts = (t) => [
|
|
412
|
-
{
|
|
413
|
-
description: t("neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane"),
|
|
414
|
-
sequence: "shift+/",
|
|
415
|
-
},
|
|
416
|
-
{
|
|
417
|
-
description: t("neetoMolecules.keyboardShortcuts.global.close"),
|
|
418
|
-
sequence: "esc",
|
|
419
|
-
},
|
|
420
|
-
{
|
|
421
|
-
description: t("neetoMolecules.keyboardShortcuts.global.submitForm"),
|
|
422
|
-
sequence: "ctrl+enter",
|
|
423
|
-
},
|
|
424
|
-
];
|
|
425
|
-
|
|
426
|
-
const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
|
|
427
|
-
const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
|
|
428
|
-
|
|
429
|
-
const NEETO_EDITOR_SELECTORS = {
|
|
430
|
-
fontSize: optionSelector("font-size"),
|
|
431
|
-
boldOption: optionSelector("bold"),
|
|
432
|
-
italicOption: optionSelector("italic"),
|
|
433
|
-
underlineOption: optionSelector("underline"),
|
|
434
|
-
strikeOption: optionSelector("strike"),
|
|
435
|
-
codeBlockOption: optionSelector("code"),
|
|
436
|
-
highlightOption: optionSelector("highlight"),
|
|
437
|
-
emojiOption: optionSelector("emoji"),
|
|
438
|
-
emojiDropdownIcon: "emoji-dropdown-icon",
|
|
439
|
-
linkInput: fixedMenuSelector("link-option-input"),
|
|
440
|
-
linkSubmitButton: fixedMenuSelector("link-option-link-button"),
|
|
441
|
-
commandList: (index) => `neeto-editor-command-list-item-${index}`,
|
|
442
|
-
imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
|
|
443
|
-
imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
|
|
444
|
-
uploadInput: "neeto-editor-media-uploader-input",
|
|
445
|
-
editorMenuBarWrapper: fixedMenuSelector("wrapper"),
|
|
446
|
-
undoOption: optionSelector("undo"),
|
|
447
|
-
redoOption: optionSelector("redo"),
|
|
448
|
-
imageWrapper: "neeto-editor-image-wrapper",
|
|
449
|
-
contentField: "neeto-editor-content",
|
|
450
|
-
addLinkButton: optionSelector("link"),
|
|
451
|
-
addLinkTextField: "neeto-editor-add-link-text-input",
|
|
452
|
-
addURLTextField: "neeto-editor-add-link-url-input",
|
|
453
|
-
submitLinkButton: "neeto-editor-add-link",
|
|
454
|
-
fixedMenuArrow: fixedMenuSelector("arrow"),
|
|
455
|
-
cannedResponseOption: optionSelector("canned-responses"),
|
|
456
|
-
cannedResponseSelectContainer: "select-a-canned-response-select-container",
|
|
457
|
-
fixedMenuWrapper: fixedMenuSelector("wrapper"),
|
|
458
|
-
linkOption: optionSelector("link"),
|
|
459
|
-
addLinkUrlInput: "neeto-editor-add-link-url-input",
|
|
460
|
-
addLinkDoneButton: "neeto-editor-add-link",
|
|
461
|
-
unlinkButton: "neeto-editor-link-popover-unlink",
|
|
462
|
-
editorAttachmentsButton: optionSelector("attachments"),
|
|
463
|
-
attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
|
|
464
|
-
imageUploadOption: optionSelector("image-upload"),
|
|
465
|
-
imageUploadLinkInput: "neeto-editor-media-upload-url-input",
|
|
466
|
-
imageUploadButton: "neeto-editor-media-uploader-dnd",
|
|
467
|
-
imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
|
|
468
|
-
applyButton: "apply-button",
|
|
469
|
-
videoEmbedOption: optionSelector("video-embed"),
|
|
470
|
-
videoEmbedInput: "neeto-editor-embed-input",
|
|
471
|
-
videoEmbedSubmit: "neeto-editor-embed-cancel",
|
|
472
|
-
videoWrapper: "neeto-editor-video-wrapper",
|
|
473
|
-
paragraphOption: fixedMenuSelector("font-size-option-body2"),
|
|
474
|
-
attachmentPreview: "ne-attachments-wrapper",
|
|
475
|
-
imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
|
|
476
|
-
errorText: "neeto-editor-error-text",
|
|
477
|
-
content: "editor-content",
|
|
478
|
-
imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
|
|
479
|
-
dynamicVariablesButton: "dynamic-variables-button",
|
|
480
|
-
emojiContainer: "neeto-editor-emoji-picker",
|
|
481
|
-
characterCount: "neeto-editor-character-count",
|
|
482
|
-
tableOption: optionSelector("table"),
|
|
483
|
-
tableCreateButton: "neeto-editor-fixed-menu-table-option-create-button",
|
|
484
|
-
videoUploadOption: optionSelector("video-upload"),
|
|
485
|
-
editorMenuWrapper: "neeto-editor-fixed-menu-wrapper",
|
|
486
|
-
editorMediaUploaderTab: "neeto-editor-media-uploader-local-tab",
|
|
487
|
-
dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${joinHyphenCase(variable)}`,
|
|
488
|
-
neetoEditorFixedMenuFontSize: "neeto-editor-fixed-menu-font-size-option",
|
|
489
|
-
highlightText: (textColorIndex) => `--neeto-editor-highlight-text-${textColorIndex}`,
|
|
490
|
-
highlightBg: (bgColorIndex) => `--neeto-editor-highlight-bg-${bgColorIndex}`,
|
|
491
|
-
};
|
|
492
|
-
const NEETO_TEXT_MODIFIER_SELECTORS = {
|
|
493
|
-
strike: optionSelector("strike"),
|
|
494
|
-
underline: optionSelector("underline"),
|
|
495
|
-
highlight: optionSelector("highlight"),
|
|
496
|
-
};
|
|
497
|
-
const TEXT_MODIFIER_SELECTORS = {
|
|
498
|
-
bold: optionSelector("bold"),
|
|
499
|
-
italic: optionSelector("italic"),
|
|
500
|
-
code: optionSelector("code"),
|
|
501
|
-
blockquote: optionSelector("blockquote"),
|
|
502
|
-
codeBlock: optionSelector("codeBlock"),
|
|
503
|
-
};
|
|
504
|
-
const LIST_MODIFIER_SELECTORS = {
|
|
505
|
-
bulletList: optionSelector("bulletList"),
|
|
506
|
-
orderedList: optionSelector("orderedList"),
|
|
507
|
-
};
|
|
508
|
-
const FONT_SIZE_SELECTORS = {
|
|
509
|
-
h1: fixedMenuSelector("font-size-option-h1"),
|
|
510
|
-
h2: fixedMenuSelector("font-size-option-h2"),
|
|
511
|
-
h3: fixedMenuSelector("font-size-option-h3"),
|
|
512
|
-
h4: fixedMenuSelector("font-size-option-h4"),
|
|
513
|
-
h5: fixedMenuSelector("font-size-option-h5"),
|
|
514
|
-
};
|
|
515
|
-
|
|
516
|
-
const EMBED_SELECTORS = {
|
|
517
|
-
iframe: (appName) => `#${appName}-iframe`,
|
|
518
|
-
modal: (appName) => `#${appName}-modal`,
|
|
519
|
-
close: (appName) => `#close-${appName}`,
|
|
520
|
-
loader: (appName) => `#${appName}-loader`,
|
|
521
|
-
inlineHeightInput: "inline-height-input-field",
|
|
522
|
-
inlineWidthInput: "inline-width-input-field",
|
|
523
|
-
inlineElementIdInput: "inline-element-id-input-field",
|
|
524
|
-
codeBlock: "code-block",
|
|
525
|
-
previewTab: "preview-tab",
|
|
526
|
-
htmlTab: "html-tab",
|
|
527
|
-
buttonTextInput: "button-text-input-field",
|
|
528
|
-
buttonPositionSelectContainer: "button-position-select-value-container",
|
|
529
|
-
buttonPositionSelectMenu: "button-position-select-menu",
|
|
530
|
-
buttonColorLabel: "button-color-label",
|
|
531
|
-
buttonTextColorLabel: "button-text-color-label",
|
|
532
|
-
colorPickerTarget: "color-picker-target",
|
|
533
|
-
colorpickerEditableInput: "colorpicker-editable-input",
|
|
534
|
-
colorpickerEditableInputTextbox: "colorpicker-editable-input-textbox",
|
|
535
|
-
showIconCheckbox: "show-icon-checkbox",
|
|
536
|
-
elementIdInput: "element-id-input-field",
|
|
537
|
-
previewElementPopupButton: "preview-element-popup-button",
|
|
538
|
-
embedSelector: (embedType) => `[data-testid="embed-selector-card-${hyphenize(embedType)}"]`,
|
|
539
|
-
backToEmbedSelectionButton: "back-to-embed-selection-button",
|
|
540
|
-
};
|
|
541
|
-
|
|
542
|
-
const NEETO_FILTERS_SELECTORS = {
|
|
543
|
-
emailSelectContainer: "email-select-container-wrapper",
|
|
544
|
-
filterPaneHeading: "neeto-filters-pane-header",
|
|
545
|
-
neetoFiltersEmailBlock: "neeto-filters-email-block",
|
|
546
|
-
neetoFiltersRoleBlock: "neeto-filters-role-block",
|
|
547
|
-
neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
|
|
548
|
-
neetoFiltersNameFilterField: "neeto-filters-name-filter",
|
|
549
|
-
neetoFilterNameBlock: "neeto-filters-name-block",
|
|
550
|
-
roleSelectContainer: "role-select-container-wrapper",
|
|
551
|
-
filterButton: "neeto-filters-toggle-btn",
|
|
552
|
-
filtersClearButton: "neeto-filters-clear-btn",
|
|
553
|
-
filterDoneButton: "neeto-filters-done-btn",
|
|
554
|
-
filteredMembersCount: "ntm-filtered-members-count",
|
|
555
|
-
allMenubarBlock: "ntm-members-menubar-all-block",
|
|
556
|
-
filtersEmailFilter: "neeto-filters-email-filter",
|
|
557
|
-
paneModalCrossIcon: "neeto-filters-close-button",
|
|
558
|
-
searchTermBlock: "neeto-filters-search-term-block",
|
|
559
|
-
categoriesFilter: "neeto-filters-categories-filter",
|
|
560
|
-
filtersSegmentName: "neeto-filters-segment-name",
|
|
561
|
-
activeSelectContainer: "neeto-filters-status-filter",
|
|
562
|
-
neetoFiltersFilter: (filterName) => `neeto-filters-${neetoCist.hyphenate(filterName)}-filter`,
|
|
563
|
-
filtersTermBlock: (filterType = "search-term") => `neeto-filters-${neetoCist.hyphenate(filterType)}-block`,
|
|
564
|
-
dateRange: (filterName) => `neeto-filters-${neetoCist.hyphenate(filterName)}-date-range`,
|
|
565
|
-
segmentLabel: (label) => `neeto-filters-segment-block-${neetoCist.hyphenate(label)}`,
|
|
566
|
-
};
|
|
567
|
-
|
|
568
|
-
const HELP_CENTER_SELECTORS = {
|
|
569
|
-
helpButton: "help-button",
|
|
570
|
-
documentationButton: "help-link-help-center-button",
|
|
571
|
-
keyboardShortcutButton: "help-link-keyboard-shortcut-button",
|
|
572
|
-
chatButton: "help-link-live-chat-button",
|
|
573
|
-
whatsNewButton: "help-link-engage-button",
|
|
574
|
-
whatsNewWidgetInfo: "h1",
|
|
575
|
-
whatsNewWidgetCloseButton: ".ne-widget-header__btn",
|
|
576
|
-
keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
|
|
577
|
-
keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
|
|
578
|
-
statusButton: "help-link-status-button",
|
|
579
|
-
communityButton: "help-link-community-button",
|
|
580
|
-
};
|
|
581
|
-
|
|
582
|
-
const NEETO_IMAGE_UPLOADER_SELECTORS = {
|
|
583
|
-
imageUploaderWrapper: "image-uploader-wrapper",
|
|
584
|
-
browseText: "neeto-image-uploader-browse-text",
|
|
585
|
-
fileInput: "neeto-image-uploader-file-input",
|
|
586
|
-
uploadedImage: "uploaded-image",
|
|
587
|
-
uploadNewAsset: "upload-new-asset",
|
|
588
|
-
basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
|
|
589
|
-
removeButton: "image-uploader-remove-button",
|
|
590
|
-
openImageLibraryButton: "image-uploader-open-image-library-button",
|
|
591
|
-
openAssetLibraryButton: "open-asset-library-button",
|
|
592
|
-
imageEditorBackButton: "image-editor-back-button",
|
|
593
|
-
aspectRatioWidthInput: "aspect-ratio-width-input",
|
|
594
|
-
aspectRatioHeightInput: "aspect-ratio-height-input",
|
|
595
|
-
cropSubmitButton: "neeto-image-uploader-crop-submit-button",
|
|
596
|
-
restrictionMessage: "neeto-image-uploader-restriction-message",
|
|
597
|
-
progressBar: "neeto-image-uploader-progress-bar",
|
|
598
|
-
myImagesTab: "neeto-image-uploader-my-images-tab",
|
|
599
|
-
unsplashTab: "neeto-image-uploader-unsplash-tab",
|
|
600
|
-
nthLibraryImage: (index) => `niu-library-image-${index}`,
|
|
601
|
-
nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
|
|
602
|
-
unsplashSearchInput: "niu-unsplash-image-picker-search-input",
|
|
603
|
-
imageEditorUploadedImage: "image-editor-uploaded-image",
|
|
604
|
-
selectOriginalImageSwitch: "select-original-image-switch",
|
|
605
|
-
lockAspectRatioSwitch: "lock-aspect-ratio-switch",
|
|
606
|
-
widthInputField: "width-input-field",
|
|
607
|
-
heightInputField: "height-input-field",
|
|
608
|
-
};
|
|
609
|
-
|
|
610
|
-
const LOGIN_SELECTORS = {
|
|
611
|
-
appleAuthenticationButton: "apple-authentication-button",
|
|
612
|
-
emailTextField: "login-email-text-field",
|
|
613
|
-
googleAuthenticationButton: "google-authentication-button",
|
|
614
|
-
githubAuthenticationButton: "github-authentication-button",
|
|
615
|
-
loginViaEmailButton: "login-via-email-button",
|
|
616
|
-
passwordTextField: "login-password-text-field",
|
|
617
|
-
rememberMeCheckBox: "login-remember-me-check-box",
|
|
618
|
-
submitButton: "login-submit-button",
|
|
619
|
-
twitterAuthenticationButton: "twitter-authentication-button",
|
|
620
|
-
};
|
|
621
|
-
|
|
622
|
-
const MEMBER_SELECTORS = {
|
|
623
|
-
membersTab: "members-nav-tab",
|
|
624
|
-
newButton: "ntm-add-member-button",
|
|
625
|
-
continueButton: "ntm-manage-member-continue-button",
|
|
626
|
-
submitButton: "ntm-manage-member-submit-button",
|
|
627
|
-
searchTextField: "ntm-search-members-input",
|
|
628
|
-
deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
|
|
629
|
-
activatedMembersButton: "ntm-members-menubar-active-block",
|
|
630
|
-
columnCheckBox: "neeto-ui-columns-checkbox",
|
|
631
|
-
roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
|
|
632
|
-
teamMembersTable: "ntm-members-table",
|
|
633
|
-
dropDownIcon: "ntm-members-table-row-dropdown-button",
|
|
634
|
-
editButton: "ntm-edit-member-button",
|
|
635
|
-
menuBarHeading: "ntm-members-menubar-heading",
|
|
636
|
-
removeMember: "ntm-deactivate-member-button",
|
|
637
|
-
columnsButton: "columns-dropdown-button",
|
|
638
|
-
columnsDropdownContainer: "columns-dropdown-container",
|
|
639
|
-
emailDropdownItemLabel: "email-checkbox-label",
|
|
640
|
-
roleDropdownItemLabel: "role-checkbox-label",
|
|
641
|
-
inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
|
|
642
|
-
heading: "ntm-manage-members-pane-header",
|
|
643
|
-
activateButton: "ntm-activate-members-button",
|
|
644
|
-
deactivateButton: "ntm-deactivate-members-button",
|
|
645
|
-
rolesButton: "ntm-manage-member-roles-button",
|
|
646
|
-
statusTag: "ntm-member-status-tag",
|
|
647
|
-
menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
|
|
648
|
-
takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
|
|
649
|
-
checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
|
|
650
|
-
subscriptionPlanTag: "ntm-member-subscription-plan-tag",
|
|
651
|
-
memberNameCell: (nameOrEmail) => `ntm-member-name-${hyphenize(nameOrEmail)}`,
|
|
652
|
-
};
|
|
653
|
-
const MEMBER_FORM_SELECTORS = {
|
|
654
|
-
emailTextField: "email-select-input-field",
|
|
655
|
-
firstNameTextField: "ntm-edit-member-first-name-text-field",
|
|
656
|
-
lastNameTextField: "ntm-edit-member-last-name-text-field",
|
|
657
|
-
emailInput: "ntm-manage-member-email-input",
|
|
658
|
-
emailErrorField: "emails-input-error",
|
|
659
|
-
cancelButton: "ntm-manage-member-cancel-button",
|
|
660
|
-
};
|
|
661
|
-
|
|
662
|
-
const PROFILE_SECTION_SELECTORS = {
|
|
663
|
-
profileSectionButton: "profile-section",
|
|
664
|
-
profilePopup: "profile-popup",
|
|
665
|
-
myProfileButton: "my-profile-button",
|
|
666
|
-
profileOrganizationSettingsButton: "profile-organization-settings-button",
|
|
667
|
-
logoutButton: "profile-logout-button",
|
|
668
|
-
neetoAuthLink: "ntm-visit-auth-button",
|
|
669
|
-
profileSidebarCancelButton: "ntm-profile-cancel-button",
|
|
670
|
-
profileAvatar: "profile-avatar",
|
|
671
|
-
actionHeaderUserEmail: "floating-action-menu-header-user-email",
|
|
672
|
-
submitButton: "ntm-profile-submit-button",
|
|
673
|
-
};
|
|
674
|
-
|
|
675
|
-
const ROLES_SELECTORS = {
|
|
676
|
-
newButton: "ntm-add-role-button",
|
|
677
|
-
proceedButton: "ntm-add-role-submit-button",
|
|
678
|
-
cancelButton: "ntm-add-role-cancel-button",
|
|
679
|
-
tableHeaderRoleName: "ntm-roles-table-role-header",
|
|
680
|
-
nameTextField: "ntm-add-role-name-text-field",
|
|
681
|
-
searchTextField: "ntm-search-roles-input",
|
|
682
|
-
updateRolePaneHeading: "ntm-add-role-title",
|
|
683
|
-
updateRoleCancelButton: "ntm-add-role-cancel-button",
|
|
684
|
-
descriptionTextField: "ntm-add-role-description-text-field",
|
|
685
|
-
permissionCategoryTitle: "ntm-roles-permission-category-title",
|
|
686
|
-
headerColumn: "ntm-roles-table-header",
|
|
687
|
-
dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
|
|
688
|
-
tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
|
|
689
|
-
permissionCheckbox: "ntm-roles-permission-checkbox",
|
|
690
|
-
editRoleButton: "ntm-roles-table-edit-role-button",
|
|
691
|
-
deleteRoleButton: "ntm-roles-table-delete-role-button",
|
|
692
|
-
permissionCard: "ntm-roles-permission-card",
|
|
693
|
-
searchPermissionsInput: "ntm-search-permissions-input",
|
|
694
|
-
permissionDescription: "ntm-permission-category-description",
|
|
695
|
-
rolesEditButton: "ntm-roles-table-edit-role-button",
|
|
696
|
-
};
|
|
697
|
-
|
|
698
|
-
const SIGNUP_SELECTORS = {
|
|
699
|
-
emailTextField: "signup-email-text-field",
|
|
700
|
-
firstNameTextField: "signup-profile-first-name-text-field",
|
|
701
|
-
lastNameTextField: "signup-profile-last-name-text-field",
|
|
702
|
-
organizationNameTextField: "signup-organization-name-text-field",
|
|
703
|
-
organizationSubmitButton: "signup-organization-submit-button",
|
|
704
|
-
otpTextBox: "otpinput-otp-number",
|
|
705
|
-
profileSubmitButton: "signup-profile-submit-button",
|
|
706
|
-
signupViaEmailButton: "signup-via-email-button",
|
|
707
|
-
submitButton: "signup-email-submit-button",
|
|
708
|
-
subdomainNameTextField: "signup-organization-subdomain-text-field",
|
|
709
|
-
subdomainError: "subdomain-input-error",
|
|
710
|
-
tryFreeButton: "neeto-auth-signup-link",
|
|
711
|
-
unregisterdEmailError: "unregisterd-email-error",
|
|
712
|
-
};
|
|
713
|
-
|
|
714
|
-
const TAB_SELECTORS = {
|
|
715
|
-
configureTab: "configure-tab",
|
|
716
|
-
buildTab: "build-tab",
|
|
717
|
-
themeTab: "theme-tab",
|
|
718
|
-
shareTab: "share-tab",
|
|
719
|
-
submissionsTab: "submissions-tab",
|
|
720
|
-
paymentsTab: "payments-tab",
|
|
721
|
-
settingsTab: "settings-tab",
|
|
722
|
-
};
|
|
723
|
-
|
|
724
|
-
const TAGS_SELECTORS = {
|
|
725
|
-
newTagButton: "add-new-tag-button",
|
|
726
|
-
tagNameTextField: "tag-name-text-field",
|
|
727
|
-
editButton: "tags-edit-button",
|
|
728
|
-
deleteButton: "tags-delete-button",
|
|
729
|
-
cancelButton: "neeto-tags-manage-tag-cancel-button",
|
|
730
|
-
submitButton: "neeto-tags-manage-tag-submit-button",
|
|
731
|
-
searchTextField: "neeto-tags-search-text-input-field",
|
|
732
|
-
descriptionTextArea: "tag-description-text-area",
|
|
733
|
-
addTagButton: "neeto-tags-add-tag-button",
|
|
734
|
-
tagSearchField: "select-tag-container",
|
|
735
|
-
deleteTagButton: "tag-close-icon",
|
|
736
|
-
metaDataCard: "metadata-card",
|
|
737
|
-
metaDataBlock: "metadata-block",
|
|
738
|
-
tagContainer: "tag-container",
|
|
739
|
-
tagsCount: "neeto-tags-filtered-tags-count-text",
|
|
740
|
-
};
|
|
741
|
-
const MERGE_TAGS_SELECTORS = {
|
|
742
|
-
mergeTagsButton: "neeto-tags-merge-tags-button",
|
|
743
|
-
mergeButton: "neeto-tags-merge-button",
|
|
744
|
-
sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
|
|
745
|
-
sourceTagsList: "neeto-tags-merge-source-tags-list",
|
|
746
|
-
destinationTagsList: "neeto-tags-merge-destination-tags-list",
|
|
747
|
-
destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
|
|
748
|
-
cancelButton: "neeto-tags-merge-cancel-button",
|
|
749
|
-
proceedButton: "neeto-tags-merge-proceed-button",
|
|
750
|
-
disabledTag: ".neeto-ui-cursor-not-allowed",
|
|
751
|
-
sourceTagRow: "neeto-tags-merge-source-tags",
|
|
752
|
-
destinationTagRow: "neeto-tags-merge-destination-tags",
|
|
753
|
-
};
|
|
754
|
-
|
|
755
|
-
const CHAT_WIDGET_SELECTORS = {
|
|
756
|
-
iframe: "#neetochat-iframe",
|
|
757
|
-
spinner: ".neeto-chat-widget-spinner",
|
|
758
|
-
helpButton: "help-button",
|
|
759
|
-
preChatEmailInput: "neeto-chat-widget-input",
|
|
760
|
-
preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
|
|
761
|
-
chatBubble: "neeto-chat-widget-chat-message-bubble",
|
|
762
|
-
closeChat: "neeto-chat-widget-close-btn",
|
|
763
|
-
chatQuestionHeader: "chat-question-header",
|
|
764
|
-
openChat: "neeto-chat-widget-open-btn",
|
|
765
|
-
homeScreenSubtitle: "neeto-chat-widget-home-screen-subtitle",
|
|
766
|
-
};
|
|
767
|
-
const CHANGELOG_WIDGET_SELECTORS = {
|
|
768
|
-
changelogWrapper: ".ne-widget__wrapper",
|
|
769
|
-
closeButton: "ne-widget-close-btn",
|
|
770
|
-
publicUrlLink: "ne-widget-public-url",
|
|
771
|
-
};
|
|
772
|
-
const KEYBOARD_SHORTCUTS_SELECTORS = {
|
|
773
|
-
keyboardShortcutsPane: "keyboard-shortcuts-pane",
|
|
774
|
-
closePaneButton: "keyboard-shortcuts-pane-close-button",
|
|
775
|
-
hotKeyItem: "hotkey-item",
|
|
776
|
-
};
|
|
777
|
-
|
|
778
|
-
const INTEGRATION_SELECTORS = {
|
|
779
|
-
integrationCard: (integration) => `${integration}-integration-card`,
|
|
780
|
-
connectButton: "connect-button",
|
|
781
|
-
integrationStatusTag: "integration-status-tag",
|
|
782
|
-
disconnectButton: "disconnect-button",
|
|
783
|
-
manageButton: "manage-button",
|
|
784
|
-
integrationConnectedTag: "integration-connected-tag",
|
|
785
|
-
};
|
|
786
|
-
|
|
787
|
-
const GOOGLE_LOGIN_SELECTORS = {
|
|
788
|
-
totpNext: "#totpNext",
|
|
789
|
-
form: "form",
|
|
790
|
-
totpChallengeSelector: '[data-challengeid="2"]',
|
|
791
|
-
signOutFrameLocator: 'iframe[name="account"]',
|
|
792
|
-
};
|
|
793
|
-
|
|
794
|
-
const dataQa = (value) => `[data-qa='${value}']`;
|
|
795
|
-
const SLACK_SELECTORS = {
|
|
796
|
-
messageContainer: dataQa("message_container"),
|
|
797
|
-
loginEmail: dataQa("login_email"),
|
|
798
|
-
loginPassword: dataQa("login_password"),
|
|
799
|
-
signInButton: dataQa("signin_button"),
|
|
800
|
-
teamPicketButtonContent: dataQa("team-picker-button-content"),
|
|
801
|
-
redirectOpenInBrowser: dataQa("ssb_redirect_open_in_browser"),
|
|
802
|
-
workspaceActionsButton: dataQa("workspace_actions_button"),
|
|
803
|
-
teamMenuTrigger: dataQa("team-menu-trigger"),
|
|
804
|
-
menuItemButton: "menu_item_button",
|
|
805
|
-
threadsFlexpane: "threads_flexpane",
|
|
806
|
-
replyBar: "reply_bar",
|
|
807
|
-
markdownElement: "bk_markdown_element",
|
|
808
|
-
virtualListItem: "virtual-list-item",
|
|
809
|
-
channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
|
|
810
|
-
};
|
|
811
|
-
const SLACK_DATA_QA_SELECTORS = {
|
|
812
|
-
sectionHeadingButton: "section_heading_button__channels",
|
|
813
|
-
coachMarkCloseButton: "coachmark-close-button",
|
|
814
|
-
messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
|
|
815
|
-
permissionBannerCloseIcon: "banner_close_btn",
|
|
816
|
-
channelSectionSubmenuCreate: "channel_section_submenu_create",
|
|
817
|
-
channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
|
|
818
|
-
skModalContent: "sk-modal-content",
|
|
819
|
-
infiniteSpinner: "infinite-spinner",
|
|
820
|
-
channelNameOptionsList: "channel-name-options-list",
|
|
821
|
-
channelNameInput: "channel-name-input",
|
|
822
|
-
createChannelNextButton: "create-channel-next-button",
|
|
823
|
-
inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
|
|
824
|
-
menuItems: "menu_items",
|
|
825
|
-
channelDetailsModal: "channel_details_modal",
|
|
826
|
-
channelDetailsSettingsTab: "channel_details_settings_tab",
|
|
827
|
-
};
|
|
828
|
-
|
|
829
|
-
const WEBHOOK_SELECTORS = {
|
|
830
|
-
addNewWebhook: "add-new-webhook-button",
|
|
831
|
-
endpointInputField: "endpoint-input-field",
|
|
832
|
-
deliveryResponseCode: "delivery-response-code",
|
|
833
|
-
deliveryRequestPayload: "delivery-request-payload",
|
|
834
|
-
addSecretKey: "add-secret-key",
|
|
835
|
-
newWebhookHeader: "add-new-webhook-pane-header",
|
|
836
|
-
endpointInputError: "endpoint-input-error",
|
|
837
|
-
eventsSelectError: "events-select-error",
|
|
838
|
-
regenerateSecret: "regenerate-secret",
|
|
839
|
-
deleteSecret: "delete-secret",
|
|
840
|
-
editWebhookButton: "neeto-webhooks-edit-button",
|
|
841
|
-
deleteWebhookButton: "neeto-webhooks-delete-button",
|
|
842
|
-
};
|
|
843
|
-
|
|
844
|
-
const ZAPIER_SELECTORS = {
|
|
845
|
-
zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
|
|
846
|
-
zapAccountSubstep: "[data-testid='substep-Account']",
|
|
847
|
-
zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
|
|
848
|
-
modal: "[data-testid='Modal']",
|
|
849
|
-
fmPrettytext: ".fm-prettytext",
|
|
850
|
-
spinner: "[data-testid='spinner']",
|
|
851
|
-
skeletonBlock: "[data-testid='SkeletonBlock']",
|
|
852
|
-
accountsLoader: "[data-testid='accounts-loader']",
|
|
853
|
-
floatingBox: "[data-testid='floating-box']",
|
|
854
|
-
connection: "[data-testid='Connection']",
|
|
855
|
-
deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
|
|
856
|
-
deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
|
|
857
|
-
usageAmounts: "css=[class$=UsageBar__amounts]",
|
|
858
|
-
universalSidebar: "[data-testid='universalSidebar']",
|
|
859
|
-
sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
|
|
860
|
-
contextualSideBar: "[data-testid='contextual-sidebar']",
|
|
861
|
-
iconContainer: "[data-testid='iconContainer']",
|
|
862
|
-
deleteApiButton: "delete-apikey-button",
|
|
863
|
-
zapierSubLink: "zapier-sub-link",
|
|
864
|
-
};
|
|
865
|
-
|
|
866
|
-
const TABLE_SELECTORS = {
|
|
867
|
-
freezeUnfreezeButton: "freeze-unfreeze-column-menu-button",
|
|
868
|
-
ascendingButton: "ascending-column-menu-button",
|
|
869
|
-
descendingButton: "descending-column-menu-button",
|
|
870
|
-
hideButton: "hide-column-menu-button",
|
|
871
|
-
columnHeaderTitle: (columnName) => `${neetoCist.hyphenate(columnName)}-header-title`,
|
|
872
|
-
columnMenuButton: "column-menu-button",
|
|
873
|
-
};
|
|
874
|
-
|
|
875
|
-
const THEMES_SELECTORS = {
|
|
876
|
-
colorPickerDropdownContainer: (colorHex) => `${colorHex}-dropdown-container`,
|
|
877
|
-
baseThemeStyle: (styleType) => `theme-style-${neetoCist.hyphenate(styleType)}`,
|
|
878
|
-
introPageThemeStyle: (styleType) => `intro-page-theme-style-${neetoCist.hyphenate(styleType)}`,
|
|
879
|
-
};
|
|
880
|
-
|
|
881
|
-
const ADMIN_PANEL_SELECTORS = {
|
|
882
|
-
settingsItemHeading: "settings-item-heading",
|
|
883
|
-
settingsItemDescription: "settings-item-description",
|
|
884
|
-
expiryDateInput: "expiry-date-input",
|
|
885
|
-
};
|
|
886
|
-
const CUSTOM_DOMAIN_SELECTORS = {
|
|
887
|
-
addCustomDomainButton: "add-new-custom-domain-button",
|
|
888
|
-
customDomainInputField: "custom-domain-input-field",
|
|
889
|
-
submitCustomDomainButton: "submit-custom-domain-button",
|
|
890
|
-
customDomainValidateButton: "validate-domain-button",
|
|
891
|
-
editCustomDomainButton: "edit-custom-domain-button",
|
|
892
|
-
deleteCustomDomainButton: "delete-custom-domain-button",
|
|
893
|
-
dropdownButton: "custom-domains-more-dropdown-button",
|
|
894
|
-
activeTagContainer: "active-tag-container",
|
|
895
|
-
};
|
|
896
|
-
const API_KEYS_SELECTORS = {
|
|
897
|
-
editApiKeyButton: "api-key-edit-button",
|
|
898
|
-
deleteApiKeyButton: "api-key-delete-button",
|
|
899
|
-
addApiKeyButton: "add-api-key-button",
|
|
900
|
-
apiKeysLabelField: "api-keys-label-field",
|
|
901
|
-
apiKeysExpiresAtField: "api-keys-expires-at-field",
|
|
902
|
-
expiryDateInputError: "expiry-date-input-error",
|
|
903
|
-
expiryDateInput: "expiry-date-input",
|
|
904
|
-
apiKeysField: "api-keys-label-field",
|
|
905
|
-
tokenField: "api-keys-token-field",
|
|
906
|
-
expiresAtField: "api-keys-expires-at-field",
|
|
907
|
-
createdAtField: "api-keys-created-at-field",
|
|
908
|
-
};
|
|
909
|
-
|
|
910
|
-
const DATE_PICKER_SELECTORS = {
|
|
911
|
-
pickerInput: "picker-input",
|
|
912
|
-
datePicker: "date-picker",
|
|
913
|
-
timePicker: "time-picker",
|
|
914
|
-
nextYearButton: "next-year-button",
|
|
915
|
-
prevYearButton: "prev-year-button",
|
|
916
|
-
};
|
|
917
|
-
|
|
918
|
-
const mimeTypeMap = {
|
|
919
|
-
csv: "text/csv",
|
|
920
|
-
avi: "video/x-msvideo",
|
|
921
|
-
doc: "application/msword",
|
|
922
|
-
docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
923
|
-
flv: "video/x-flv",
|
|
924
|
-
html: "text/html",
|
|
925
|
-
mp3: "audio/mpeg",
|
|
926
|
-
mp4: "video/mp4",
|
|
927
|
-
mpg: "video/mpeg",
|
|
928
|
-
pdf: "application/pdf",
|
|
929
|
-
rtf: "application/rtf",
|
|
930
|
-
txt: "text/plain",
|
|
931
|
-
webm: "video/webm",
|
|
932
|
-
xls: "application/vnd.ms-excel",
|
|
933
|
-
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
934
|
-
wma: "audio/x-ms-wma",
|
|
935
|
-
zip: "application/zip",
|
|
936
|
-
jpg: "image/jpeg",
|
|
937
|
-
jpeg: "image/jpeg",
|
|
938
|
-
png: "image/png",
|
|
939
|
-
gif: "image/gif",
|
|
940
|
-
};
|
|
941
|
-
const fillRandomBytes = (byteArray) => {
|
|
942
|
-
const CHUNK_SIZE = 65536; //Maximum allowed per call by crypto.getRandomValues.
|
|
943
|
-
for (let i = 0; i < byteArray.length; i += CHUNK_SIZE) {
|
|
944
|
-
crypto.getRandomValues(byteArray.subarray(i, i + CHUNK_SIZE));
|
|
945
|
-
}
|
|
946
|
-
};
|
|
947
|
-
const serializeFileForBrowser = async (file) => {
|
|
948
|
-
const buffer = await file.arrayBuffer();
|
|
949
|
-
return {
|
|
950
|
-
name: file.name,
|
|
951
|
-
type: file.type,
|
|
952
|
-
lastModified: file.lastModified,
|
|
953
|
-
buffer: Array.from(new Uint8Array(buffer)),
|
|
954
|
-
};
|
|
955
|
-
};
|
|
956
|
-
const generateRandomFile = ({ sizeInKB, fileType, fileName = `sample.${fileType}`, }) => {
|
|
957
|
-
const mimeType = mimeTypeMap[fileType];
|
|
958
|
-
const byteArray = new Uint8Array(sizeInKB * 1024);
|
|
959
|
-
fillRandomBytes(byteArray);
|
|
960
|
-
const blob = new Blob([byteArray], { type: mimeType });
|
|
961
|
-
const file = new File([blob], fileName, { type: mimeType });
|
|
962
|
-
return { file, fileName };
|
|
963
|
-
};
|
|
964
|
-
|
|
965
127
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
966
128
|
|
|
967
129
|
function getDefaultExportFromCjs (x) {
|
|
@@ -1164,12 +326,12 @@ var implementation = implementation$1;
|
|
|
1164
326
|
|
|
1165
327
|
var functionBind = Function.prototype.bind || implementation;
|
|
1166
328
|
|
|
1167
|
-
var call = Function.prototype.call;
|
|
1168
|
-
var $hasOwn = Object.prototype.hasOwnProperty;
|
|
1169
|
-
var bind$
|
|
329
|
+
var call$1 = Function.prototype.call;
|
|
330
|
+
var $hasOwn$1 = Object.prototype.hasOwnProperty;
|
|
331
|
+
var bind$4 = functionBind;
|
|
1170
332
|
|
|
1171
333
|
/** @type {(o: {}, p: PropertyKey) => p is keyof o} */
|
|
1172
|
-
var hasown = bind$
|
|
334
|
+
var hasown$2 = bind$4.call(call$1, $hasOwn$1);
|
|
1173
335
|
|
|
1174
336
|
var undefined$2;
|
|
1175
337
|
|
|
@@ -1392,13 +554,13 @@ var LEGACY_ALIASES$1 = {
|
|
|
1392
554
|
'%WeakSetPrototype%': ['WeakSet', 'prototype']
|
|
1393
555
|
};
|
|
1394
556
|
|
|
1395
|
-
var bind$
|
|
1396
|
-
var hasOwn$5 = hasown;
|
|
1397
|
-
var $concat$2 = bind$
|
|
1398
|
-
var $spliceApply$1 = bind$
|
|
1399
|
-
var $replace$2 = bind$
|
|
1400
|
-
var $strSlice$1 = bind$
|
|
1401
|
-
var $exec$1 = bind$
|
|
557
|
+
var bind$3 = functionBind;
|
|
558
|
+
var hasOwn$5 = hasown$2;
|
|
559
|
+
var $concat$2 = bind$3.call(Function.call, Array.prototype.concat);
|
|
560
|
+
var $spliceApply$1 = bind$3.call(Function.apply, Array.prototype.splice);
|
|
561
|
+
var $replace$2 = bind$3.call(Function.call, String.prototype.replace);
|
|
562
|
+
var $strSlice$1 = bind$3.call(Function.call, String.prototype.slice);
|
|
563
|
+
var $exec$1 = bind$3.call(Function.call, RegExp.prototype.exec);
|
|
1402
564
|
|
|
1403
565
|
/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
|
|
1404
566
|
var rePropName$1 = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
|
|
@@ -1531,6 +693,22 @@ var getIntrinsic$2 = function GetIntrinsic(name, allowMissing) {
|
|
|
1531
693
|
|
|
1532
694
|
var callBind$1 = {exports: {}};
|
|
1533
695
|
|
|
696
|
+
var hasown$1;
|
|
697
|
+
var hasRequiredHasown;
|
|
698
|
+
|
|
699
|
+
function requireHasown () {
|
|
700
|
+
if (hasRequiredHasown) return hasown$1;
|
|
701
|
+
hasRequiredHasown = 1;
|
|
702
|
+
|
|
703
|
+
var call = Function.prototype.call;
|
|
704
|
+
var $hasOwn = Object.prototype.hasOwnProperty;
|
|
705
|
+
var bind = functionBind;
|
|
706
|
+
|
|
707
|
+
/** @type {(o: {}, p: PropertyKey) => p is keyof o} */
|
|
708
|
+
hasown$1 = bind.call(call, $hasOwn);
|
|
709
|
+
return hasown$1;
|
|
710
|
+
}
|
|
711
|
+
|
|
1534
712
|
var getIntrinsic$1;
|
|
1535
713
|
var hasRequiredGetIntrinsic;
|
|
1536
714
|
|
|
@@ -1760,7 +938,7 @@ function requireGetIntrinsic () {
|
|
|
1760
938
|
};
|
|
1761
939
|
|
|
1762
940
|
var bind = functionBind;
|
|
1763
|
-
var hasOwn =
|
|
941
|
+
var hasOwn = requireHasown();
|
|
1764
942
|
var $concat = bind.call(Function.call, Array.prototype.concat);
|
|
1765
943
|
var $spliceApply = bind.call(Function.apply, Array.prototype.splice);
|
|
1766
944
|
var $replace = bind.call(Function.call, String.prototype.replace);
|
|
@@ -1922,6 +1100,13 @@ function requireEsDefineProperty () {
|
|
|
1922
1100
|
return esDefineProperty;
|
|
1923
1101
|
}
|
|
1924
1102
|
|
|
1103
|
+
var call = Function.prototype.call;
|
|
1104
|
+
var $hasOwn = Object.prototype.hasOwnProperty;
|
|
1105
|
+
var bind$2 = functionBind;
|
|
1106
|
+
|
|
1107
|
+
/** @type {(o: {}, p: PropertyKey) => p is keyof o} */
|
|
1108
|
+
var hasown = bind$2.call(call, $hasOwn);
|
|
1109
|
+
|
|
1925
1110
|
var undefined$1;
|
|
1926
1111
|
|
|
1927
1112
|
var $SyntaxError$1 = SyntaxError;
|
|
@@ -4050,6 +3235,844 @@ var lib$e = {
|
|
|
4050
3235
|
|
|
4051
3236
|
var qs$1 = /*@__PURE__*/getDefaultExportFromCjs(lib$e);
|
|
4052
3237
|
|
|
3238
|
+
const COMMON_SELECTORS = {
|
|
3239
|
+
emailInputError: "email-input-error",
|
|
3240
|
+
pane: "pane-wrapper",
|
|
3241
|
+
sideBar: "sidebar",
|
|
3242
|
+
copyButton: "copy-button",
|
|
3243
|
+
resetButton: "reset-button",
|
|
3244
|
+
spinner: ".neeto-ui-spinner",
|
|
3245
|
+
uiSpinner: "neeto-ui-spinner",
|
|
3246
|
+
subheaderText: "subheader-left",
|
|
3247
|
+
alertTitle: "alert-title",
|
|
3248
|
+
alertModalMessage: "alert-message",
|
|
3249
|
+
alertModalSubmitButton: "alert-submit-button",
|
|
3250
|
+
checkbox: "nui-checkbox-input",
|
|
3251
|
+
checkboxLabel: "nui-checkbox-label",
|
|
3252
|
+
dropdownContainer: "nui-dropdown-container",
|
|
3253
|
+
dropdownIcon: "nui-dropdown-icon",
|
|
3254
|
+
heading: "main-header",
|
|
3255
|
+
paneBody: "pane-body",
|
|
3256
|
+
paneHeader: "pane-header",
|
|
3257
|
+
profileSidebar: "profile-section",
|
|
3258
|
+
selectOption: (label) => `${neetoCist.hyphenate(label)}-select-option`,
|
|
3259
|
+
radioLabel: (embedLabel) => `${neetoCist.hyphenate(embedLabel)}-radio-label`,
|
|
3260
|
+
toastMessage: (type) => `toastr-${type}-container`,
|
|
3261
|
+
toastCloseButton: "toastr-close-button",
|
|
3262
|
+
windowAlert: "#alert-box",
|
|
3263
|
+
body: "body",
|
|
3264
|
+
toastIcon: ".Toastify__toast-icon",
|
|
3265
|
+
toastContainer: ".Toastify__toast-container",
|
|
3266
|
+
paneModalCrossIcon: "pane-close-button",
|
|
3267
|
+
inputField: "nui-input-field",
|
|
3268
|
+
alertBox: "alert-box",
|
|
3269
|
+
tableContainer: "table-container",
|
|
3270
|
+
alertConfirmationText: "alert-confirmation-text",
|
|
3271
|
+
alertCancelButton: "alert-cancel-button",
|
|
3272
|
+
alertModalCrossIcon: "modal-close-button",
|
|
3273
|
+
saveChangesButton: "save-changes-button",
|
|
3274
|
+
cancelButton: "cancel-button",
|
|
3275
|
+
inputFieldError: "nui-input-error",
|
|
3276
|
+
selectDropDownError: "nui-select-error",
|
|
3277
|
+
subTitleHeading: "menubar-subtitle-heading",
|
|
3278
|
+
noDataTitle: "no-data-title",
|
|
3279
|
+
noDataDescription: "no-data-description",
|
|
3280
|
+
noDataHelpText: "no-data-help-text",
|
|
3281
|
+
backdrop: "neeto-backdrop",
|
|
3282
|
+
menuBarHeading: "menubar-heading",
|
|
3283
|
+
dropdownWrapper: "nui-select-container-wrapper",
|
|
3284
|
+
toggleButton: "menubar-toggle-button",
|
|
3285
|
+
tooltip: "tooltip-box",
|
|
3286
|
+
articlePageTitle: ".serene-article__title",
|
|
3287
|
+
tabItem: "tab-item",
|
|
3288
|
+
labelInputError: "label-input-error",
|
|
3289
|
+
urlInputError: "url-input-error",
|
|
3290
|
+
noDataPrimaryButton: "no-data-primary-button",
|
|
3291
|
+
modalHeader: "modal-header",
|
|
3292
|
+
nameInputError: "name-input-error",
|
|
3293
|
+
selectContainer: "nui-select-container",
|
|
3294
|
+
dropdownMenu: "nui-select-menu",
|
|
3295
|
+
sidebarToggle: "neeto-molecules-sidebar-toggler",
|
|
3296
|
+
subheader: "subheader",
|
|
3297
|
+
settingsLink: "Settings",
|
|
3298
|
+
ticketFieldTextInput: (label) => `${neetoCist.hyphenate(label)}-text-input`,
|
|
3299
|
+
appSwitcherButton: "product-switcher-button",
|
|
3300
|
+
appSwitcherWrapper: "switcher-wrapper",
|
|
3301
|
+
appLink: (appName) => `${appName}-app-link`,
|
|
3302
|
+
tableSpinner: ".ant-spin",
|
|
3303
|
+
pageLoader: "neeto-molecules-pageloader",
|
|
3304
|
+
homeButton: "home-button",
|
|
3305
|
+
neetoUiSwitch: "nui-switch",
|
|
3306
|
+
floatingActionMenuButton: "floating-action-menu-container",
|
|
3307
|
+
columnsDropdownContainer: "show/hide-columns-dropdown-container",
|
|
3308
|
+
columnsDropdownButton: "columns-dropdown-button",
|
|
3309
|
+
breadcrumbHeader: "header-breadcrumb",
|
|
3310
|
+
header: "neeto-molecules-header",
|
|
3311
|
+
sidebarSubLink: (label) => `${neetoCist.hyphenate(label)}-sub-link`,
|
|
3312
|
+
sidebarGoBackButton: (label) => `${neetoCist.hyphenate(label)}-go-back-button`,
|
|
3313
|
+
selectSingleValue: "select-single-value",
|
|
3314
|
+
actionSelectIndicator: "action-select-indicator",
|
|
3315
|
+
takeActionDropdown: "take-action-dropdown-icon",
|
|
3316
|
+
columnsSearchInput: "neeto-ui-columns-search",
|
|
3317
|
+
errorToastIcon: "error-toast-icon",
|
|
3318
|
+
nuiRadioLabel: "nui-radio-label",
|
|
3319
|
+
submitButton: "submit-button",
|
|
3320
|
+
tableRow: ".ant-table-row",
|
|
3321
|
+
navigationHeaderLeftBlock: "navigation-header-left-block",
|
|
3322
|
+
fileUploadBody: "file-upload-body",
|
|
3323
|
+
modalBody: "modal-body",
|
|
3324
|
+
modalForever: "modal-footer",
|
|
3325
|
+
navigationHeader: "navigation-header",
|
|
3326
|
+
buttonSpinner: ".neeto-ui-btn__spinner",
|
|
3327
|
+
pendingTagContainer: "pending-tag-container",
|
|
3328
|
+
nextYearButton: "next-year-button",
|
|
3329
|
+
popoverTitle: "popover-title",
|
|
3330
|
+
productSwitcherSearchInput: "product-switcher-search-input",
|
|
3331
|
+
helpPopoverButton: "help-popover-button",
|
|
3332
|
+
helpPopoverDesc: "help-popover-description",
|
|
3333
|
+
helpPopoverLinkButton: "help-popover-link-button",
|
|
3334
|
+
copyToClipboardButton: "copy-to-clipboard-button",
|
|
3335
|
+
subheaderRight: "subheader-right",
|
|
3336
|
+
secretKeyInputField: "secret-key-input-field",
|
|
3337
|
+
activeSwitch: "active-switch",
|
|
3338
|
+
labelInputField: "label-input-field",
|
|
3339
|
+
imageUploadModal: "tab-container",
|
|
3340
|
+
neetoLogo: "sidebar-info",
|
|
3341
|
+
clearSelectIndicator: "clear-select-indicator",
|
|
3342
|
+
menubarContainer: "menubar-container",
|
|
3343
|
+
multiEmailInputContainer: "multi-email-input-container",
|
|
3344
|
+
linkInputError: "link-input-error",
|
|
3345
|
+
continueButton: "continue-button",
|
|
3346
|
+
clearAllButton: "clear-all-button",
|
|
3347
|
+
requiredSwitch: "required-switch",
|
|
3348
|
+
customSwitch: (switchLabel) => `${neetoCist.hyphenate(switchLabel)}-switch`,
|
|
3349
|
+
customMenuItem: (label) => `${neetoCist.hyphenate(label)}-menu-item`,
|
|
3350
|
+
customInputLabel: (name = "nui") => `${neetoCist.hyphenate(name)}-input-label`,
|
|
3351
|
+
customInputField: (name = "nui") => `${neetoCist.hyphenate(name)}-input-field`,
|
|
3352
|
+
customSelectContainer: (name) => `${neetoCist.hyphenate(name)}-select-container`,
|
|
3353
|
+
customSelectContainerWrapper: (label) => `${neetoCist.hyphenate(label)}-select-container-wrapper`,
|
|
3354
|
+
customSelectValueContainer: (label = "nui") => `${neetoCist.hyphenate(label)}-select-value-container`,
|
|
3355
|
+
customCheckboxLabel: (name) => `${neetoCist.hyphenate(name)}-checkbox-label`,
|
|
3356
|
+
errorImage: "error-image",
|
|
3357
|
+
customDropdownIcon: (label = "nui") => `${neetoCist.hyphenate(label)}-dropdown-icon`,
|
|
3358
|
+
customDropdownContainer: (label = "nui") => `${neetoCist.hyphenate(label)}-dropdown-container`,
|
|
3359
|
+
checkboxInput: (option = "i-agree") => `${neetoCist.hyphenate(option)}-checkbox-input`,
|
|
3360
|
+
radioInput: (option = "i-agree") => `${neetoCist.hyphenate(option)}-radio-input`,
|
|
3361
|
+
selectOptionError: (option) => `${neetoCist.hyphenate(option)}-select-error`,
|
|
3362
|
+
customDropDownMenu: (label = "nui") => `${neetoCist.hyphenate(label)}-select-menu`,
|
|
3363
|
+
};
|
|
3364
|
+
|
|
3365
|
+
const THANK_YOU_SELECTORS = {
|
|
3366
|
+
settingsLink: "thank-you-settings-link",
|
|
3367
|
+
showSocialShareIconsSwitch: "show-social-share-icons-switch",
|
|
3368
|
+
showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
|
|
3369
|
+
submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
|
|
3370
|
+
previewEditorContent: "preview-editor-content",
|
|
3371
|
+
redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
|
|
3372
|
+
thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
|
|
3373
|
+
saveChangesButton: "neeto-thank-you-configuration-save-button",
|
|
3374
|
+
cancelButton: "neeto-thank-you-configuration-cancel-button",
|
|
3375
|
+
thankYouPageImage: "thank-you-page-image",
|
|
3376
|
+
thankYouPageMessage: "thank-you-page-message",
|
|
3377
|
+
thankYouPageContent: "thank-you-page-content",
|
|
3378
|
+
thankYouPageResubmitLink: "thank-you-page-resubmit-link",
|
|
3379
|
+
linkInputField: "link-input-field",
|
|
3380
|
+
previewImage: "preview-image",
|
|
3381
|
+
thankYouMessageEditor: "thank-you-message-editor",
|
|
3382
|
+
thankYouMessageWrapper: "thank-you-message-wrapper",
|
|
3383
|
+
};
|
|
3384
|
+
|
|
3385
|
+
const ENVIRONMENT = {
|
|
3386
|
+
development: "development",
|
|
3387
|
+
staging: "staging",
|
|
3388
|
+
review: "review",
|
|
3389
|
+
};
|
|
3390
|
+
const IS_STAGING_ENV = process.env.TEST_ENV === "staging";
|
|
3391
|
+
const STORAGE_STATE = "./e2e/auth/user.json";
|
|
3392
|
+
const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/translations/en.json";
|
|
3393
|
+
const PROJECT_TRANSLATIONS_PATH = "../app/javascript/src/translations/en.json";
|
|
3394
|
+
const CREDENTIALS = {
|
|
3395
|
+
name: "Oliver Smith",
|
|
3396
|
+
email: "oliver@example.com",
|
|
3397
|
+
password: "welcome",
|
|
3398
|
+
};
|
|
3399
|
+
const OTP_EMAIL_PATTERN = "is your login code";
|
|
3400
|
+
const SLACK_DEFAULT_CHANNEL = "general";
|
|
3401
|
+
const CUSTOM_DOMAIN_SUFFIX = "aceinvoice.com";
|
|
3402
|
+
const ZAPIER_TEST_EMAIL = (product) => `neeto-${product}-zapier-test@${process.env.FASTMAIL_DOMAIN_NAME}`;
|
|
3403
|
+
// constants for translation
|
|
3404
|
+
const SINGULAR = { count: 1 };
|
|
3405
|
+
const PLURAL = { count: 2 };
|
|
3406
|
+
const COLOR = {
|
|
3407
|
+
transparent: "rgba(0, 0, 0, 0)",
|
|
3408
|
+
softBlue: "rgb(230, 244, 255)",
|
|
3409
|
+
};
|
|
3410
|
+
const DATE_TEXTS = { now: "Now", nextYear: "next-year" };
|
|
3411
|
+
const EMPTY_STORAGE_STATE = {
|
|
3412
|
+
storageState: { cookies: [], origins: [] },
|
|
3413
|
+
};
|
|
3414
|
+
|
|
3415
|
+
/* eslint-disable playwright/no-skipped-test */
|
|
3416
|
+
const execCommand = (command) => child_process.execSync(command)
|
|
3417
|
+
.toString("utf-8")
|
|
3418
|
+
.replace(/[\n\r\s]+$/, "");
|
|
3419
|
+
const joinString = (string1, string2, string3 = "", separator = " ") => {
|
|
3420
|
+
if (string3 === "") {
|
|
3421
|
+
return string1 + separator + string2;
|
|
3422
|
+
}
|
|
3423
|
+
return string1 + separator + string2 + separator + string3;
|
|
3424
|
+
};
|
|
3425
|
+
const readFileSyncIfExists = (path = STORAGE_STATE) => {
|
|
3426
|
+
try {
|
|
3427
|
+
return JSON.parse(fs__namespace.readFileSync(path, "utf8"));
|
|
3428
|
+
}
|
|
3429
|
+
catch (_a) {
|
|
3430
|
+
return {};
|
|
3431
|
+
}
|
|
3432
|
+
};
|
|
3433
|
+
const getGlobalUserState = () => { var _a; return (_a = readFileSyncIfExists()) === null || _a === void 0 ? void 0 : _a.user; };
|
|
3434
|
+
const writeDataToFile = data => {
|
|
3435
|
+
try {
|
|
3436
|
+
fs__namespace.writeFileSync(STORAGE_STATE, data, "utf8");
|
|
3437
|
+
}
|
|
3438
|
+
catch (error) {
|
|
3439
|
+
console.log(error); // eslint-disable-line
|
|
3440
|
+
}
|
|
3441
|
+
return true;
|
|
3442
|
+
};
|
|
3443
|
+
const updateCredentials = ({ key, value }) => {
|
|
3444
|
+
const data = readFileSyncIfExists();
|
|
3445
|
+
data["user"][key] = value;
|
|
3446
|
+
return writeDataToFile(JSON.stringify(data));
|
|
3447
|
+
};
|
|
3448
|
+
const removeCredentialFile = () => {
|
|
3449
|
+
fs__namespace.unlink(STORAGE_STATE, error => {
|
|
3450
|
+
if (!error)
|
|
3451
|
+
return;
|
|
3452
|
+
console.log(error); // eslint-disable-line
|
|
3453
|
+
});
|
|
3454
|
+
};
|
|
3455
|
+
const clearCredentials = () => {
|
|
3456
|
+
if (shouldSkipSetupAndTeardown())
|
|
3457
|
+
return;
|
|
3458
|
+
removeCredentialFile();
|
|
3459
|
+
};
|
|
3460
|
+
/**
|
|
3461
|
+
* @deprecated Use hyphenate from neeto-cist instead.
|
|
3462
|
+
*/
|
|
3463
|
+
const hyphenize = input => {
|
|
3464
|
+
const fallbackString = "";
|
|
3465
|
+
if (typeof input === "number")
|
|
3466
|
+
return String(input);
|
|
3467
|
+
if (input && typeof input === "string" && input.replace) {
|
|
3468
|
+
return input
|
|
3469
|
+
.replace(/[\s_]/g, "-")
|
|
3470
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
|
3471
|
+
.replace(/-+/g, "-")
|
|
3472
|
+
.toLowerCase();
|
|
3473
|
+
}
|
|
3474
|
+
return fallbackString;
|
|
3475
|
+
};
|
|
3476
|
+
const joinHyphenCase = (...args) => args.join(" ").replace(/\s+/g, "-").toLowerCase();
|
|
3477
|
+
const skipTest = {
|
|
3478
|
+
forDevelopmentEnv: () => test$1.skip(process.env.TEST_ENV === ENVIRONMENT.development),
|
|
3479
|
+
forReviewEnv: () => test$1.skip(process.env.TEST_ENV === ENVIRONMENT.review),
|
|
3480
|
+
forAllExceptStagingEnv: () => test$1.skip(process.env.TEST_ENV !== ENVIRONMENT.staging),
|
|
3481
|
+
forNonNightlyRun: () => {
|
|
3482
|
+
const currentBranch = execCommand("git rev-parse --abbrev-ref HEAD");
|
|
3483
|
+
const isNightlyRun = currentBranch === "main" &&
|
|
3484
|
+
process.env.TEST_ENV === ENVIRONMENT.staging &&
|
|
3485
|
+
!!process.env.NEETO_CI_JOB_ID;
|
|
3486
|
+
return test$1.skip(ramda.not(isNightlyRun), "Run test only in playwright-nightly");
|
|
3487
|
+
},
|
|
3488
|
+
ifNotWithinAllowedNightlyHours: ({ reason, allowedNightlyRunHours = [0, 6, 12, 18], }) => {
|
|
3489
|
+
skipTest.forNonNightlyRun();
|
|
3490
|
+
const currentDate = new Date();
|
|
3491
|
+
const day = currentDate.getUTCDay();
|
|
3492
|
+
const hour = currentDate.getUTCHours();
|
|
3493
|
+
const isAllowedNightlyRun = 0 < day && day < 6 && allowedNightlyRunHours.includes(hour);
|
|
3494
|
+
test$1.skip(ramda.not(isAllowedNightlyRun), `Nightly run is skipped due to ${reason}`);
|
|
3495
|
+
},
|
|
3496
|
+
};
|
|
3497
|
+
const shouldSkipSetupAndTeardown = () => { var _a; return ((_a = getGlobalUserState()) === null || _a === void 0 ? void 0 : _a.isLoggedIn) && process.env.SKIP_SETUP === "true"; };
|
|
3498
|
+
const shouldSkipCustomDomainSetup = () => process.env.SETUP_CUSTOM_DOMAIN !== "true" || !IS_STAGING_ENV;
|
|
3499
|
+
const baseURLGenerator = (product, customSubdomain) => {
|
|
3500
|
+
const { subdomainName } = getGlobalUserState();
|
|
3501
|
+
return `https://${customSubdomain !== null && customSubdomain !== void 0 ? customSubdomain : subdomainName}.neeto${product.toLowerCase()}.net`;
|
|
3502
|
+
};
|
|
3503
|
+
// trims and replaces multiple whitespace characters in a string with a single space
|
|
3504
|
+
const squish = (text) => text.trim().replace(/\s+/g, " ");
|
|
3505
|
+
const toCamelCase = (string) => string.toLowerCase().replace(/( \w)/g, letter => letter[1].toUpperCase());
|
|
3506
|
+
const getByDataQA = ramda.curry((page, dataQa) => {
|
|
3507
|
+
if (typeof dataQa === "string") {
|
|
3508
|
+
// eslint-disable-next-line playwright/no-raw-locators
|
|
3509
|
+
return page.locator(`[data-qa='${dataQa}']`);
|
|
3510
|
+
}
|
|
3511
|
+
// eslint-disable-next-line playwright/no-raw-locators
|
|
3512
|
+
return page
|
|
3513
|
+
.locator(`[data-qa='${dataQa[0]}']`)
|
|
3514
|
+
.locator(`[data-qa='${dataQa[1]}']`);
|
|
3515
|
+
});
|
|
3516
|
+
const getListCount = async ({ page, countSelector, }) => {
|
|
3517
|
+
const countText = await page.getByTestId(countSelector).textContent();
|
|
3518
|
+
return Number(countText === null || countText === void 0 ? void 0 : countText.trim().split(" ")[0]);
|
|
3519
|
+
};
|
|
3520
|
+
const getGlobalUserProps = async (page) => (await page.evaluate(() => window.globalProps.user));
|
|
3521
|
+
const getClipboardContent = (page) => page.evaluate(() => navigator.clipboard.readText());
|
|
3522
|
+
const globalShortcuts = (t) => [
|
|
3523
|
+
{
|
|
3524
|
+
description: t("neetoMolecules.keyboardShortcuts.global.openKeyboardShortcutsPane"),
|
|
3525
|
+
sequence: "shift+/",
|
|
3526
|
+
},
|
|
3527
|
+
{
|
|
3528
|
+
description: t("neetoMolecules.keyboardShortcuts.global.close"),
|
|
3529
|
+
sequence: "esc",
|
|
3530
|
+
},
|
|
3531
|
+
{
|
|
3532
|
+
description: t("neetoMolecules.keyboardShortcuts.global.submitForm"),
|
|
3533
|
+
sequence: "ctrl+enter",
|
|
3534
|
+
},
|
|
3535
|
+
];
|
|
3536
|
+
|
|
3537
|
+
const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
|
|
3538
|
+
const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
|
|
3539
|
+
|
|
3540
|
+
const NEETO_EDITOR_SELECTORS = {
|
|
3541
|
+
fontSize: optionSelector("font-size"),
|
|
3542
|
+
boldOption: optionSelector("bold"),
|
|
3543
|
+
italicOption: optionSelector("italic"),
|
|
3544
|
+
underlineOption: optionSelector("underline"),
|
|
3545
|
+
strikeOption: optionSelector("strike"),
|
|
3546
|
+
codeBlockOption: optionSelector("code"),
|
|
3547
|
+
highlightOption: optionSelector("highlight"),
|
|
3548
|
+
emojiOption: optionSelector("emoji"),
|
|
3549
|
+
emojiDropdownIcon: "emoji-dropdown-icon",
|
|
3550
|
+
linkInput: fixedMenuSelector("link-option-input"),
|
|
3551
|
+
linkSubmitButton: fixedMenuSelector("link-option-link-button"),
|
|
3552
|
+
commandList: (index) => `neeto-editor-command-list-item-${index}`,
|
|
3553
|
+
imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
|
|
3554
|
+
imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
|
|
3555
|
+
uploadInput: "neeto-editor-media-uploader-input",
|
|
3556
|
+
editorMenuBarWrapper: fixedMenuSelector("wrapper"),
|
|
3557
|
+
undoOption: optionSelector("undo"),
|
|
3558
|
+
redoOption: optionSelector("redo"),
|
|
3559
|
+
imageWrapper: "neeto-editor-image-wrapper",
|
|
3560
|
+
contentField: "neeto-editor-content",
|
|
3561
|
+
addLinkButton: optionSelector("link"),
|
|
3562
|
+
addLinkTextField: "neeto-editor-add-link-text-input",
|
|
3563
|
+
addURLTextField: "neeto-editor-add-link-url-input",
|
|
3564
|
+
submitLinkButton: "neeto-editor-add-link",
|
|
3565
|
+
fixedMenuArrow: fixedMenuSelector("arrow"),
|
|
3566
|
+
cannedResponseOption: optionSelector("canned-responses"),
|
|
3567
|
+
cannedResponseSelectContainer: "select-a-canned-response-select-container",
|
|
3568
|
+
fixedMenuWrapper: fixedMenuSelector("wrapper"),
|
|
3569
|
+
linkOption: optionSelector("link"),
|
|
3570
|
+
addLinkUrlInput: "neeto-editor-add-link-url-input",
|
|
3571
|
+
addLinkDoneButton: "neeto-editor-add-link",
|
|
3572
|
+
unlinkButton: "neeto-editor-link-popover-unlink",
|
|
3573
|
+
editorAttachmentsButton: optionSelector("attachments"),
|
|
3574
|
+
attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
|
|
3575
|
+
imageUploadOption: optionSelector("image-upload"),
|
|
3576
|
+
imageUploadLinkInput: "neeto-editor-media-upload-url-input",
|
|
3577
|
+
imageUploadButton: "neeto-editor-media-uploader-dnd",
|
|
3578
|
+
imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
|
|
3579
|
+
applyButton: "apply-button",
|
|
3580
|
+
videoEmbedOption: optionSelector("video-embed"),
|
|
3581
|
+
videoEmbedInput: "neeto-editor-embed-input",
|
|
3582
|
+
videoEmbedSubmit: "neeto-editor-embed-cancel",
|
|
3583
|
+
videoWrapper: "neeto-editor-video-wrapper",
|
|
3584
|
+
paragraphOption: fixedMenuSelector("font-size-option-body2"),
|
|
3585
|
+
attachmentPreview: "ne-attachments-wrapper",
|
|
3586
|
+
imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
|
|
3587
|
+
errorText: "neeto-editor-error-text",
|
|
3588
|
+
content: "editor-content",
|
|
3589
|
+
imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
|
|
3590
|
+
dynamicVariablesButton: "dynamic-variables-button",
|
|
3591
|
+
emojiContainer: "neeto-editor-emoji-picker",
|
|
3592
|
+
characterCount: "neeto-editor-character-count",
|
|
3593
|
+
tableOption: optionSelector("table"),
|
|
3594
|
+
tableCreateButton: "neeto-editor-fixed-menu-table-option-create-button",
|
|
3595
|
+
videoUploadOption: optionSelector("video-upload"),
|
|
3596
|
+
editorMenuWrapper: "neeto-editor-fixed-menu-wrapper",
|
|
3597
|
+
editorMediaUploaderTab: "neeto-editor-media-uploader-local-tab",
|
|
3598
|
+
dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${joinHyphenCase(variable)}`,
|
|
3599
|
+
neetoEditorFixedMenuFontSize: "neeto-editor-fixed-menu-font-size-option",
|
|
3600
|
+
highlightText: (textColorIndex) => `--neeto-editor-highlight-text-${textColorIndex}`,
|
|
3601
|
+
highlightBg: (bgColorIndex) => `--neeto-editor-highlight-bg-${bgColorIndex}`,
|
|
3602
|
+
};
|
|
3603
|
+
const NEETO_TEXT_MODIFIER_SELECTORS = {
|
|
3604
|
+
strike: optionSelector("strike"),
|
|
3605
|
+
underline: optionSelector("underline"),
|
|
3606
|
+
highlight: optionSelector("highlight"),
|
|
3607
|
+
};
|
|
3608
|
+
const TEXT_MODIFIER_SELECTORS = {
|
|
3609
|
+
bold: optionSelector("bold"),
|
|
3610
|
+
italic: optionSelector("italic"),
|
|
3611
|
+
code: optionSelector("code"),
|
|
3612
|
+
blockquote: optionSelector("blockquote"),
|
|
3613
|
+
codeBlock: optionSelector("codeBlock"),
|
|
3614
|
+
};
|
|
3615
|
+
const LIST_MODIFIER_SELECTORS = {
|
|
3616
|
+
bulletList: optionSelector("bulletList"),
|
|
3617
|
+
orderedList: optionSelector("orderedList"),
|
|
3618
|
+
};
|
|
3619
|
+
const FONT_SIZE_SELECTORS = {
|
|
3620
|
+
h1: fixedMenuSelector("font-size-option-h1"),
|
|
3621
|
+
h2: fixedMenuSelector("font-size-option-h2"),
|
|
3622
|
+
h3: fixedMenuSelector("font-size-option-h3"),
|
|
3623
|
+
h4: fixedMenuSelector("font-size-option-h4"),
|
|
3624
|
+
h5: fixedMenuSelector("font-size-option-h5"),
|
|
3625
|
+
};
|
|
3626
|
+
|
|
3627
|
+
const EMBED_SELECTORS = {
|
|
3628
|
+
iframe: (appName) => `#${appName}-iframe`,
|
|
3629
|
+
modal: (appName) => `#${appName}-modal`,
|
|
3630
|
+
close: (appName) => `#close-${appName}`,
|
|
3631
|
+
loader: (appName) => `#${appName}-loader`,
|
|
3632
|
+
inlineHeightInput: "inline-height-input-field",
|
|
3633
|
+
inlineWidthInput: "inline-width-input-field",
|
|
3634
|
+
inlineElementIdInput: "inline-element-id-input-field",
|
|
3635
|
+
codeBlock: "code-block",
|
|
3636
|
+
previewTab: "preview-tab",
|
|
3637
|
+
htmlTab: "html-tab",
|
|
3638
|
+
buttonTextInput: "button-text-input-field",
|
|
3639
|
+
buttonPositionSelectContainer: "button-position-select-value-container",
|
|
3640
|
+
buttonPositionSelectMenu: "button-position-select-menu",
|
|
3641
|
+
buttonColorLabel: "button-color-label",
|
|
3642
|
+
buttonTextColorLabel: "button-text-color-label",
|
|
3643
|
+
colorPickerTarget: "color-picker-target",
|
|
3644
|
+
colorpickerEditableInput: "colorpicker-editable-input",
|
|
3645
|
+
colorpickerEditableInputTextbox: "colorpicker-editable-input-textbox",
|
|
3646
|
+
showIconCheckbox: "show-icon-checkbox",
|
|
3647
|
+
elementIdInput: "element-id-input-field",
|
|
3648
|
+
previewElementPopupButton: "preview-element-popup-button",
|
|
3649
|
+
embedSelector: (embedType) => `[data-testid="embed-selector-card-${hyphenize(embedType)}"]`,
|
|
3650
|
+
backToEmbedSelectionButton: "back-to-embed-selection-button",
|
|
3651
|
+
};
|
|
3652
|
+
|
|
3653
|
+
const NEETO_FILTERS_SELECTORS = {
|
|
3654
|
+
emailSelectContainer: "email-select-container-wrapper",
|
|
3655
|
+
filterPaneHeading: "neeto-filters-pane-header",
|
|
3656
|
+
neetoFiltersEmailBlock: "neeto-filters-email-block",
|
|
3657
|
+
neetoFiltersRoleBlock: "neeto-filters-role-block",
|
|
3658
|
+
neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
|
|
3659
|
+
neetoFiltersNameFilterField: "neeto-filters-name-filter",
|
|
3660
|
+
neetoFilterNameBlock: "neeto-filters-name-block",
|
|
3661
|
+
roleSelectContainer: "role-select-container-wrapper",
|
|
3662
|
+
filterButton: "neeto-filters-toggle-btn",
|
|
3663
|
+
filtersClearButton: "neeto-filters-clear-btn",
|
|
3664
|
+
filterDoneButton: "neeto-filters-done-btn",
|
|
3665
|
+
filteredMembersCount: "ntm-filtered-members-count",
|
|
3666
|
+
allMenubarBlock: "ntm-members-menubar-all-block",
|
|
3667
|
+
filtersEmailFilter: "neeto-filters-email-filter",
|
|
3668
|
+
paneModalCrossIcon: "neeto-filters-close-button",
|
|
3669
|
+
searchTermBlock: "neeto-filters-search-term-block",
|
|
3670
|
+
categoriesFilter: "neeto-filters-categories-filter",
|
|
3671
|
+
filtersSegmentName: "neeto-filters-segment-name",
|
|
3672
|
+
activeSelectContainer: "neeto-filters-status-filter",
|
|
3673
|
+
neetoFiltersFilter: (filterName) => `neeto-filters-${neetoCist.hyphenate(filterName)}-filter`,
|
|
3674
|
+
filtersTermBlock: (filterType = "search-term") => `neeto-filters-${neetoCist.hyphenate(filterType)}-block`,
|
|
3675
|
+
dateRange: (filterName) => `neeto-filters-${neetoCist.hyphenate(filterName)}-date-range`,
|
|
3676
|
+
segmentLabel: (label) => `neeto-filters-segment-block-${neetoCist.hyphenate(label)}`,
|
|
3677
|
+
};
|
|
3678
|
+
|
|
3679
|
+
const HELP_CENTER_SELECTORS = {
|
|
3680
|
+
helpButton: "help-button",
|
|
3681
|
+
documentationButton: "help-link-help-center-button",
|
|
3682
|
+
keyboardShortcutButton: "help-link-keyboard-shortcut-button",
|
|
3683
|
+
chatButton: "help-link-live-chat-button",
|
|
3684
|
+
whatsNewButton: "help-link-engage-button",
|
|
3685
|
+
whatsNewWidgetInfo: "h1",
|
|
3686
|
+
whatsNewWidgetCloseButton: ".ne-widget-header__btn",
|
|
3687
|
+
keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
|
|
3688
|
+
keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
|
|
3689
|
+
statusButton: "help-link-status-button",
|
|
3690
|
+
communityButton: "help-link-community-button",
|
|
3691
|
+
};
|
|
3692
|
+
|
|
3693
|
+
const NEETO_IMAGE_UPLOADER_SELECTORS = {
|
|
3694
|
+
imageUploaderWrapper: "image-uploader-wrapper",
|
|
3695
|
+
browseText: "neeto-image-uploader-browse-text",
|
|
3696
|
+
fileInput: "neeto-image-uploader-file-input",
|
|
3697
|
+
uploadedImage: "uploaded-image",
|
|
3698
|
+
uploadNewAsset: "upload-new-asset",
|
|
3699
|
+
basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
|
|
3700
|
+
removeButton: "image-uploader-remove-button",
|
|
3701
|
+
openImageLibraryButton: "image-uploader-open-image-library-button",
|
|
3702
|
+
openAssetLibraryButton: "open-asset-library-button",
|
|
3703
|
+
imageEditorBackButton: "image-editor-back-button",
|
|
3704
|
+
aspectRatioWidthInput: "aspect-ratio-width-input",
|
|
3705
|
+
aspectRatioHeightInput: "aspect-ratio-height-input",
|
|
3706
|
+
cropSubmitButton: "neeto-image-uploader-crop-submit-button",
|
|
3707
|
+
restrictionMessage: "neeto-image-uploader-restriction-message",
|
|
3708
|
+
progressBar: "neeto-image-uploader-progress-bar",
|
|
3709
|
+
myImagesTab: "neeto-image-uploader-my-images-tab",
|
|
3710
|
+
unsplashTab: "neeto-image-uploader-unsplash-tab",
|
|
3711
|
+
nthLibraryImage: (index) => `niu-library-image-${index}`,
|
|
3712
|
+
nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
|
|
3713
|
+
unsplashSearchInput: "niu-unsplash-image-picker-search-input",
|
|
3714
|
+
imageEditorUploadedImage: "image-editor-uploaded-image",
|
|
3715
|
+
selectOriginalImageSwitch: "select-original-image-switch",
|
|
3716
|
+
lockAspectRatioSwitch: "lock-aspect-ratio-switch",
|
|
3717
|
+
widthInputField: "width-input-field",
|
|
3718
|
+
heightInputField: "height-input-field",
|
|
3719
|
+
};
|
|
3720
|
+
|
|
3721
|
+
const LOGIN_SELECTORS = {
|
|
3722
|
+
appleAuthenticationButton: "apple-authentication-button",
|
|
3723
|
+
emailTextField: "login-email-text-field",
|
|
3724
|
+
googleAuthenticationButton: "google-authentication-button",
|
|
3725
|
+
githubAuthenticationButton: "github-authentication-button",
|
|
3726
|
+
loginViaEmailButton: "login-via-email-button",
|
|
3727
|
+
passwordTextField: "login-password-text-field",
|
|
3728
|
+
rememberMeCheckBox: "login-remember-me-check-box",
|
|
3729
|
+
submitButton: "login-submit-button",
|
|
3730
|
+
twitterAuthenticationButton: "twitter-authentication-button",
|
|
3731
|
+
};
|
|
3732
|
+
|
|
3733
|
+
const MEMBER_SELECTORS = {
|
|
3734
|
+
membersTab: "members-nav-tab",
|
|
3735
|
+
newButton: "ntm-add-member-button",
|
|
3736
|
+
continueButton: "ntm-manage-member-continue-button",
|
|
3737
|
+
submitButton: "ntm-manage-member-submit-button",
|
|
3738
|
+
searchTextField: "ntm-search-members-input",
|
|
3739
|
+
deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
|
|
3740
|
+
activatedMembersButton: "ntm-members-menubar-active-block",
|
|
3741
|
+
columnCheckBox: "neeto-ui-columns-checkbox",
|
|
3742
|
+
roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
|
|
3743
|
+
teamMembersTable: "ntm-members-table",
|
|
3744
|
+
dropDownIcon: "ntm-members-table-row-dropdown-button",
|
|
3745
|
+
editButton: "ntm-edit-member-button",
|
|
3746
|
+
menuBarHeading: "ntm-members-menubar-heading",
|
|
3747
|
+
removeMember: "ntm-deactivate-member-button",
|
|
3748
|
+
columnsButton: "columns-dropdown-button",
|
|
3749
|
+
columnsDropdownContainer: "columns-dropdown-container",
|
|
3750
|
+
emailDropdownItemLabel: "email-checkbox-label",
|
|
3751
|
+
roleDropdownItemLabel: "role-checkbox-label",
|
|
3752
|
+
inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
|
|
3753
|
+
heading: "ntm-manage-members-pane-header",
|
|
3754
|
+
activateButton: "ntm-activate-members-button",
|
|
3755
|
+
deactivateButton: "ntm-deactivate-members-button",
|
|
3756
|
+
rolesButton: "ntm-manage-member-roles-button",
|
|
3757
|
+
statusTag: "ntm-member-status-tag",
|
|
3758
|
+
menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
|
|
3759
|
+
takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
|
|
3760
|
+
checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
|
|
3761
|
+
subscriptionPlanTag: "ntm-member-subscription-plan-tag",
|
|
3762
|
+
memberNameCell: (nameOrEmail) => `ntm-member-name-${hyphenize(nameOrEmail)}`,
|
|
3763
|
+
};
|
|
3764
|
+
const MEMBER_FORM_SELECTORS = {
|
|
3765
|
+
emailTextField: "email-select-input-field",
|
|
3766
|
+
firstNameTextField: "ntm-edit-member-first-name-text-field",
|
|
3767
|
+
lastNameTextField: "ntm-edit-member-last-name-text-field",
|
|
3768
|
+
emailInput: "ntm-manage-member-email-input",
|
|
3769
|
+
emailErrorField: "emails-input-error",
|
|
3770
|
+
cancelButton: "ntm-manage-member-cancel-button",
|
|
3771
|
+
};
|
|
3772
|
+
|
|
3773
|
+
const PROFILE_SECTION_SELECTORS = {
|
|
3774
|
+
profileSectionButton: "profile-section",
|
|
3775
|
+
profilePopup: "profile-popup",
|
|
3776
|
+
myProfileButton: "my-profile-button",
|
|
3777
|
+
profileOrganizationSettingsButton: "profile-organization-settings-button",
|
|
3778
|
+
logoutButton: "profile-logout-button",
|
|
3779
|
+
neetoAuthLink: "ntm-visit-auth-button",
|
|
3780
|
+
profileSidebarCancelButton: "ntm-profile-cancel-button",
|
|
3781
|
+
profileAvatar: "profile-avatar",
|
|
3782
|
+
actionHeaderUserEmail: "floating-action-menu-header-user-email",
|
|
3783
|
+
submitButton: "ntm-profile-submit-button",
|
|
3784
|
+
};
|
|
3785
|
+
|
|
3786
|
+
const ROLES_SELECTORS = {
|
|
3787
|
+
newButton: "ntm-add-role-button",
|
|
3788
|
+
proceedButton: "ntm-add-role-submit-button",
|
|
3789
|
+
cancelButton: "ntm-add-role-cancel-button",
|
|
3790
|
+
tableHeaderRoleName: "ntm-roles-table-role-header",
|
|
3791
|
+
nameTextField: "ntm-add-role-name-text-field",
|
|
3792
|
+
searchTextField: "ntm-search-roles-input",
|
|
3793
|
+
updateRolePaneHeading: "ntm-add-role-title",
|
|
3794
|
+
updateRoleCancelButton: "ntm-add-role-cancel-button",
|
|
3795
|
+
descriptionTextField: "ntm-add-role-description-text-field",
|
|
3796
|
+
permissionCategoryTitle: "ntm-roles-permission-category-title",
|
|
3797
|
+
headerColumn: "ntm-roles-table-header",
|
|
3798
|
+
dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
|
|
3799
|
+
tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
|
|
3800
|
+
permissionCheckbox: "ntm-roles-permission-checkbox",
|
|
3801
|
+
editRoleButton: "ntm-roles-table-edit-role-button",
|
|
3802
|
+
deleteRoleButton: "ntm-roles-table-delete-role-button",
|
|
3803
|
+
permissionCard: "ntm-roles-permission-card",
|
|
3804
|
+
searchPermissionsInput: "ntm-search-permissions-input",
|
|
3805
|
+
permissionDescription: "ntm-permission-category-description",
|
|
3806
|
+
rolesEditButton: "ntm-roles-table-edit-role-button",
|
|
3807
|
+
};
|
|
3808
|
+
|
|
3809
|
+
const SIGNUP_SELECTORS = {
|
|
3810
|
+
emailTextField: "signup-email-text-field",
|
|
3811
|
+
firstNameTextField: "signup-profile-first-name-text-field",
|
|
3812
|
+
lastNameTextField: "signup-profile-last-name-text-field",
|
|
3813
|
+
organizationNameTextField: "signup-organization-name-text-field",
|
|
3814
|
+
organizationSubmitButton: "signup-organization-submit-button",
|
|
3815
|
+
otpTextBox: "otpinput-otp-number",
|
|
3816
|
+
profileSubmitButton: "signup-profile-submit-button",
|
|
3817
|
+
signupViaEmailButton: "signup-via-email-button",
|
|
3818
|
+
submitButton: "signup-email-submit-button",
|
|
3819
|
+
subdomainNameTextField: "signup-organization-subdomain-text-field",
|
|
3820
|
+
subdomainError: "subdomain-input-error",
|
|
3821
|
+
tryFreeButton: "neeto-auth-signup-link",
|
|
3822
|
+
unregisterdEmailError: "unregisterd-email-error",
|
|
3823
|
+
};
|
|
3824
|
+
|
|
3825
|
+
const TAB_SELECTORS = {
|
|
3826
|
+
configureTab: "configure-tab",
|
|
3827
|
+
buildTab: "build-tab",
|
|
3828
|
+
themeTab: "theme-tab",
|
|
3829
|
+
shareTab: "share-tab",
|
|
3830
|
+
submissionsTab: "submissions-tab",
|
|
3831
|
+
paymentsTab: "payments-tab",
|
|
3832
|
+
settingsTab: "settings-tab",
|
|
3833
|
+
};
|
|
3834
|
+
|
|
3835
|
+
const TAGS_SELECTORS = {
|
|
3836
|
+
newTagButton: "add-new-tag-button",
|
|
3837
|
+
tagNameTextField: "tag-name-text-field",
|
|
3838
|
+
editButton: "tags-edit-button",
|
|
3839
|
+
deleteButton: "tags-delete-button",
|
|
3840
|
+
cancelButton: "neeto-tags-manage-tag-cancel-button",
|
|
3841
|
+
submitButton: "neeto-tags-manage-tag-submit-button",
|
|
3842
|
+
searchTextField: "neeto-tags-search-text-input-field",
|
|
3843
|
+
descriptionTextArea: "tag-description-text-area",
|
|
3844
|
+
addTagButton: "neeto-tags-add-tag-button",
|
|
3845
|
+
tagSearchField: "select-tag-container",
|
|
3846
|
+
deleteTagButton: "tag-close-icon",
|
|
3847
|
+
metaDataCard: "metadata-card",
|
|
3848
|
+
metaDataBlock: "metadata-block",
|
|
3849
|
+
tagContainer: "tag-container",
|
|
3850
|
+
tagsCount: "neeto-tags-filtered-tags-count-text",
|
|
3851
|
+
};
|
|
3852
|
+
const MERGE_TAGS_SELECTORS = {
|
|
3853
|
+
mergeTagsButton: "neeto-tags-merge-tags-button",
|
|
3854
|
+
mergeButton: "neeto-tags-merge-button",
|
|
3855
|
+
sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
|
|
3856
|
+
sourceTagsList: "neeto-tags-merge-source-tags-list",
|
|
3857
|
+
destinationTagsList: "neeto-tags-merge-destination-tags-list",
|
|
3858
|
+
destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
|
|
3859
|
+
cancelButton: "neeto-tags-merge-cancel-button",
|
|
3860
|
+
proceedButton: "neeto-tags-merge-proceed-button",
|
|
3861
|
+
disabledTag: ".neeto-ui-cursor-not-allowed",
|
|
3862
|
+
sourceTagRow: "neeto-tags-merge-source-tags",
|
|
3863
|
+
destinationTagRow: "neeto-tags-merge-destination-tags",
|
|
3864
|
+
};
|
|
3865
|
+
|
|
3866
|
+
const CHAT_WIDGET_SELECTORS = {
|
|
3867
|
+
iframe: "#neetochat-iframe",
|
|
3868
|
+
spinner: ".neeto-chat-widget-spinner",
|
|
3869
|
+
helpButton: "help-button",
|
|
3870
|
+
preChatEmailInput: "neeto-chat-widget-input",
|
|
3871
|
+
preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
|
|
3872
|
+
chatBubble: "neeto-chat-widget-chat-message-bubble",
|
|
3873
|
+
closeChat: "neeto-chat-widget-close-btn",
|
|
3874
|
+
chatQuestionHeader: "chat-question-header",
|
|
3875
|
+
openChat: "neeto-chat-widget-open-btn",
|
|
3876
|
+
homeScreenSubtitle: "neeto-chat-widget-home-screen-subtitle",
|
|
3877
|
+
};
|
|
3878
|
+
const CHANGELOG_WIDGET_SELECTORS = {
|
|
3879
|
+
changelogWrapper: ".ne-widget__wrapper",
|
|
3880
|
+
closeButton: "ne-widget-close-btn",
|
|
3881
|
+
publicUrlLink: "ne-widget-public-url",
|
|
3882
|
+
};
|
|
3883
|
+
const KEYBOARD_SHORTCUTS_SELECTORS = {
|
|
3884
|
+
keyboardShortcutsPane: "keyboard-shortcuts-pane",
|
|
3885
|
+
closePaneButton: "keyboard-shortcuts-pane-close-button",
|
|
3886
|
+
hotKeyItem: "hotkey-item",
|
|
3887
|
+
};
|
|
3888
|
+
|
|
3889
|
+
const INTEGRATION_SELECTORS = {
|
|
3890
|
+
integrationCard: (integration) => `${integration}-integration-card`,
|
|
3891
|
+
connectButton: "connect-button",
|
|
3892
|
+
integrationStatusTag: "integration-status-tag",
|
|
3893
|
+
disconnectButton: "disconnect-button",
|
|
3894
|
+
manageButton: "manage-button",
|
|
3895
|
+
integrationConnectedTag: "integration-connected-tag",
|
|
3896
|
+
};
|
|
3897
|
+
|
|
3898
|
+
const GOOGLE_LOGIN_SELECTORS = {
|
|
3899
|
+
totpNext: "#totpNext",
|
|
3900
|
+
form: "form",
|
|
3901
|
+
totpChallengeSelector: '[data-challengeid="2"]',
|
|
3902
|
+
signOutFrameLocator: 'iframe[name="account"]',
|
|
3903
|
+
};
|
|
3904
|
+
|
|
3905
|
+
const dataQa = (value) => `[data-qa='${value}']`;
|
|
3906
|
+
const SLACK_SELECTORS = {
|
|
3907
|
+
messageContainer: dataQa("message_container"),
|
|
3908
|
+
loginEmail: dataQa("login_email"),
|
|
3909
|
+
loginPassword: dataQa("login_password"),
|
|
3910
|
+
signInButton: dataQa("signin_button"),
|
|
3911
|
+
teamPicketButtonContent: dataQa("team-picker-button-content"),
|
|
3912
|
+
redirectOpenInBrowser: dataQa("ssb_redirect_open_in_browser"),
|
|
3913
|
+
workspaceActionsButton: dataQa("workspace_actions_button"),
|
|
3914
|
+
teamMenuTrigger: dataQa("team-menu-trigger"),
|
|
3915
|
+
menuItemButton: "menu_item_button",
|
|
3916
|
+
threadsFlexpane: "threads_flexpane",
|
|
3917
|
+
replyBar: "reply_bar",
|
|
3918
|
+
markdownElement: "bk_markdown_element",
|
|
3919
|
+
virtualListItem: "virtual-list-item",
|
|
3920
|
+
channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
|
|
3921
|
+
};
|
|
3922
|
+
const SLACK_DATA_QA_SELECTORS = {
|
|
3923
|
+
sectionHeadingButton: "section_heading_button__channels",
|
|
3924
|
+
coachMarkCloseButton: "coachmark-close-button",
|
|
3925
|
+
messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
|
|
3926
|
+
permissionBannerCloseIcon: "banner_close_btn",
|
|
3927
|
+
channelSectionSubmenuCreate: "channel_section_submenu_create",
|
|
3928
|
+
channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
|
|
3929
|
+
skModalContent: "sk-modal-content",
|
|
3930
|
+
infiniteSpinner: "infinite-spinner",
|
|
3931
|
+
channelNameOptionsList: "channel-name-options-list",
|
|
3932
|
+
channelNameInput: "channel-name-input",
|
|
3933
|
+
createChannelNextButton: "create-channel-next-button",
|
|
3934
|
+
inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
|
|
3935
|
+
menuItems: "menu_items",
|
|
3936
|
+
channelDetailsModal: "channel_details_modal",
|
|
3937
|
+
channelDetailsSettingsTab: "channel_details_settings_tab",
|
|
3938
|
+
};
|
|
3939
|
+
|
|
3940
|
+
const WEBHOOK_SELECTORS = {
|
|
3941
|
+
addNewWebhook: "add-new-webhook-button",
|
|
3942
|
+
endpointInputField: "endpoint-input-field",
|
|
3943
|
+
deliveryResponseCode: "delivery-response-code",
|
|
3944
|
+
deliveryRequestPayload: "delivery-request-payload",
|
|
3945
|
+
addSecretKey: "add-secret-key",
|
|
3946
|
+
newWebhookHeader: "add-new-webhook-pane-header",
|
|
3947
|
+
endpointInputError: "endpoint-input-error",
|
|
3948
|
+
eventsSelectError: "events-select-error",
|
|
3949
|
+
regenerateSecret: "regenerate-secret",
|
|
3950
|
+
deleteSecret: "delete-secret",
|
|
3951
|
+
editWebhookButton: "neeto-webhooks-edit-button",
|
|
3952
|
+
deleteWebhookButton: "neeto-webhooks-delete-button",
|
|
3953
|
+
};
|
|
3954
|
+
|
|
3955
|
+
const ZAPIER_SELECTORS = {
|
|
3956
|
+
zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
|
|
3957
|
+
zapAccountSubstep: "[data-testid='substep-Account']",
|
|
3958
|
+
zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
|
|
3959
|
+
modal: "[data-testid='Modal']",
|
|
3960
|
+
fmPrettytext: ".fm-prettytext",
|
|
3961
|
+
spinner: "[data-testid='spinner']",
|
|
3962
|
+
skeletonBlock: "[data-testid='SkeletonBlock']",
|
|
3963
|
+
accountsLoader: "[data-testid='accounts-loader']",
|
|
3964
|
+
floatingBox: "[data-testid='floating-box']",
|
|
3965
|
+
connection: "[data-testid='Connection']",
|
|
3966
|
+
deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
|
|
3967
|
+
deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
|
|
3968
|
+
usageAmounts: "css=[class$=UsageBar__amounts]",
|
|
3969
|
+
universalSidebar: "[data-testid='universalSidebar']",
|
|
3970
|
+
sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
|
|
3971
|
+
contextualSideBar: "[data-testid='contextual-sidebar']",
|
|
3972
|
+
iconContainer: "[data-testid='iconContainer']",
|
|
3973
|
+
deleteApiButton: "delete-apikey-button",
|
|
3974
|
+
zapierSubLink: "zapier-sub-link",
|
|
3975
|
+
};
|
|
3976
|
+
|
|
3977
|
+
const TABLE_SELECTORS = {
|
|
3978
|
+
freezeUnfreezeButton: "freeze-unfreeze-column-menu-button",
|
|
3979
|
+
ascendingButton: "ascending-column-menu-button",
|
|
3980
|
+
descendingButton: "descending-column-menu-button",
|
|
3981
|
+
hideButton: "hide-column-menu-button",
|
|
3982
|
+
columnHeaderTitle: (columnName) => `${neetoCist.hyphenate(columnName)}-header-title`,
|
|
3983
|
+
columnMenuButton: "column-menu-button",
|
|
3984
|
+
};
|
|
3985
|
+
|
|
3986
|
+
const THEMES_SELECTORS = {
|
|
3987
|
+
colorPickerDropdownContainer: (colorHex) => `${colorHex}-dropdown-container`,
|
|
3988
|
+
baseThemeStyle: (styleType) => `theme-style-${neetoCist.hyphenate(styleType)}`,
|
|
3989
|
+
introPageThemeStyle: (styleType) => `intro-page-theme-style-${neetoCist.hyphenate(styleType)}`,
|
|
3990
|
+
};
|
|
3991
|
+
|
|
3992
|
+
const ADMIN_PANEL_SELECTORS = {
|
|
3993
|
+
settingsItemHeading: "settings-item-heading",
|
|
3994
|
+
settingsItemDescription: "settings-item-description",
|
|
3995
|
+
expiryDateInput: "expiry-date-input",
|
|
3996
|
+
};
|
|
3997
|
+
const CUSTOM_DOMAIN_SELECTORS = {
|
|
3998
|
+
addCustomDomainButton: "add-new-custom-domain-button",
|
|
3999
|
+
customDomainInputField: "custom-domain-input-field",
|
|
4000
|
+
submitCustomDomainButton: "submit-custom-domain-button",
|
|
4001
|
+
customDomainValidateButton: "validate-domain-button",
|
|
4002
|
+
editCustomDomainButton: "edit-custom-domain-button",
|
|
4003
|
+
deleteCustomDomainButton: "delete-custom-domain-button",
|
|
4004
|
+
dropdownButton: "custom-domains-more-dropdown-button",
|
|
4005
|
+
activeTagContainer: "active-tag-container",
|
|
4006
|
+
};
|
|
4007
|
+
const API_KEYS_SELECTORS = {
|
|
4008
|
+
editApiKeyButton: "api-key-edit-button",
|
|
4009
|
+
deleteApiKeyButton: "api-key-delete-button",
|
|
4010
|
+
addApiKeyButton: "add-api-key-button",
|
|
4011
|
+
apiKeysLabelField: "api-keys-label-field",
|
|
4012
|
+
apiKeysExpiresAtField: "api-keys-expires-at-field",
|
|
4013
|
+
expiryDateInputError: "expiry-date-input-error",
|
|
4014
|
+
expiryDateInput: "expiry-date-input",
|
|
4015
|
+
apiKeysField: "api-keys-label-field",
|
|
4016
|
+
tokenField: "api-keys-token-field",
|
|
4017
|
+
expiresAtField: "api-keys-expires-at-field",
|
|
4018
|
+
createdAtField: "api-keys-created-at-field",
|
|
4019
|
+
};
|
|
4020
|
+
|
|
4021
|
+
const DATE_PICKER_SELECTORS = {
|
|
4022
|
+
pickerInput: "picker-input",
|
|
4023
|
+
datePicker: "date-picker",
|
|
4024
|
+
timePicker: "time-picker",
|
|
4025
|
+
nextYearButton: "next-year-button",
|
|
4026
|
+
prevYearButton: "prev-year-button",
|
|
4027
|
+
};
|
|
4028
|
+
|
|
4029
|
+
const mimeTypeMap = {
|
|
4030
|
+
csv: "text/csv",
|
|
4031
|
+
avi: "video/x-msvideo",
|
|
4032
|
+
doc: "application/msword",
|
|
4033
|
+
docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
4034
|
+
flv: "video/x-flv",
|
|
4035
|
+
html: "text/html",
|
|
4036
|
+
mp3: "audio/mpeg",
|
|
4037
|
+
mp4: "video/mp4",
|
|
4038
|
+
mpg: "video/mpeg",
|
|
4039
|
+
pdf: "application/pdf",
|
|
4040
|
+
rtf: "application/rtf",
|
|
4041
|
+
txt: "text/plain",
|
|
4042
|
+
webm: "video/webm",
|
|
4043
|
+
xls: "application/vnd.ms-excel",
|
|
4044
|
+
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
4045
|
+
wma: "audio/x-ms-wma",
|
|
4046
|
+
zip: "application/zip",
|
|
4047
|
+
jpg: "image/jpeg",
|
|
4048
|
+
jpeg: "image/jpeg",
|
|
4049
|
+
png: "image/png",
|
|
4050
|
+
gif: "image/gif",
|
|
4051
|
+
};
|
|
4052
|
+
const fillRandomBytes = (byteArray) => {
|
|
4053
|
+
const CHUNK_SIZE = 65536; //Maximum allowed per call by crypto.getRandomValues.
|
|
4054
|
+
for (let i = 0; i < byteArray.length; i += CHUNK_SIZE) {
|
|
4055
|
+
crypto.getRandomValues(byteArray.subarray(i, i + CHUNK_SIZE));
|
|
4056
|
+
}
|
|
4057
|
+
};
|
|
4058
|
+
const serializeFileForBrowser = async (file) => {
|
|
4059
|
+
const buffer = await file.arrayBuffer();
|
|
4060
|
+
return {
|
|
4061
|
+
name: file.name,
|
|
4062
|
+
type: file.type,
|
|
4063
|
+
lastModified: file.lastModified,
|
|
4064
|
+
buffer: Array.from(new Uint8Array(buffer)),
|
|
4065
|
+
};
|
|
4066
|
+
};
|
|
4067
|
+
const generateRandomFile = ({ sizeInKB, fileType, fileName = `sample.${fileType}`, }) => {
|
|
4068
|
+
const mimeType = mimeTypeMap[fileType];
|
|
4069
|
+
const byteArray = new Uint8Array(sizeInKB * 1024);
|
|
4070
|
+
fillRandomBytes(byteArray);
|
|
4071
|
+
const blob = new Blob([byteArray], { type: mimeType });
|
|
4072
|
+
const file = new File([blob], fileName, { type: mimeType });
|
|
4073
|
+
return { file, fileName };
|
|
4074
|
+
};
|
|
4075
|
+
|
|
4053
4076
|
const getImagePathAndName = (localImagePath) => {
|
|
4054
4077
|
const imagePath = Path.join(__dirname, localImagePath);
|
|
4055
4078
|
const imageName = Path.basename(localImagePath, Path.extname(localImagePath));
|
|
@@ -12297,43 +12320,6 @@ conventions.NAMESPACE;
|
|
|
12297
12320
|
var domParser = domParser$1;
|
|
12298
12321
|
var DOMParser = domParser.DOMParser;
|
|
12299
12322
|
|
|
12300
|
-
class FastmailApi {
|
|
12301
|
-
constructor(neetoPlaywrightUtilities) {
|
|
12302
|
-
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
12303
|
-
this.authorizeAndSetAccountId = async () => {
|
|
12304
|
-
const response = await this.neetoPlaywrightUtilities.apiRequest({
|
|
12305
|
-
method: "get",
|
|
12306
|
-
url: "https://api.fastmail.com/.well-known/jmap",
|
|
12307
|
-
headers: this.headers,
|
|
12308
|
-
});
|
|
12309
|
-
const { primaryAccounts: { "urn:ietf:params:jmap:mail": accountId }, } = await response.json();
|
|
12310
|
-
this.accountId = accountId;
|
|
12311
|
-
};
|
|
12312
|
-
this.apiRequest = async (method, body) => {
|
|
12313
|
-
const response = await this.neetoPlaywrightUtilities.apiRequest({
|
|
12314
|
-
method: "post",
|
|
12315
|
-
url: "https://api.fastmail.com/jmap/api/",
|
|
12316
|
-
headers: this.headers,
|
|
12317
|
-
data: {
|
|
12318
|
-
using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
|
|
12319
|
-
methodCalls: [[method, { accountId: this.accountId, ...body }, "0"]],
|
|
12320
|
-
},
|
|
12321
|
-
});
|
|
12322
|
-
return response === null || response === void 0 ? void 0 : response.json();
|
|
12323
|
-
};
|
|
12324
|
-
this.fetchAttachments = (blobId, attachmentName) => this.neetoPlaywrightUtilities.apiRequest({
|
|
12325
|
-
url: `https://www.fastmailusercontent.com/jmap/download/${this.accountId}/${blobId}/${attachmentName}`,
|
|
12326
|
-
headers: this.headers,
|
|
12327
|
-
});
|
|
12328
|
-
if (!process.env.NEETO_AUTOMATION_FASTMAIL_API_KEY)
|
|
12329
|
-
throw new Error("Please set the environment variable NEETO_AUTOMATION_FASTMAIL_API_KEYS. Credentials can be found in the Automation Credentials vault in the BigBinary 1Password account.");
|
|
12330
|
-
this.headers = {
|
|
12331
|
-
"Content-Type": "application/json",
|
|
12332
|
-
Authorization: `Bearer ${process.env.NEETO_AUTOMATION_FASTMAIL_API_KEY}`,
|
|
12333
|
-
};
|
|
12334
|
-
}
|
|
12335
|
-
}
|
|
12336
|
-
|
|
12337
12323
|
var libmime$4 = {exports: {}};
|
|
12338
12324
|
|
|
12339
12325
|
var charset$1 = {exports: {}};
|
|
@@ -48012,6 +47998,43 @@ var mailparser = {
|
|
|
48012
47998
|
simpleParser
|
|
48013
47999
|
};
|
|
48014
48000
|
|
|
48001
|
+
class FastmailApi {
|
|
48002
|
+
constructor(neetoPlaywrightUtilities) {
|
|
48003
|
+
this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
|
|
48004
|
+
this.authorizeAndSetAccountId = async () => {
|
|
48005
|
+
const response = await this.neetoPlaywrightUtilities.apiRequest({
|
|
48006
|
+
method: "get",
|
|
48007
|
+
url: "https://api.fastmail.com/.well-known/jmap",
|
|
48008
|
+
headers: this.headers,
|
|
48009
|
+
});
|
|
48010
|
+
const { primaryAccounts: { "urn:ietf:params:jmap:mail": accountId }, } = await response.json();
|
|
48011
|
+
this.accountId = accountId;
|
|
48012
|
+
};
|
|
48013
|
+
this.apiRequest = async (method, body) => {
|
|
48014
|
+
const response = await this.neetoPlaywrightUtilities.apiRequest({
|
|
48015
|
+
method: "post",
|
|
48016
|
+
url: "https://api.fastmail.com/jmap/api/",
|
|
48017
|
+
headers: this.headers,
|
|
48018
|
+
data: {
|
|
48019
|
+
using: ["urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail"],
|
|
48020
|
+
methodCalls: [[method, { accountId: this.accountId, ...body }, "0"]],
|
|
48021
|
+
},
|
|
48022
|
+
});
|
|
48023
|
+
return response === null || response === void 0 ? void 0 : response.json();
|
|
48024
|
+
};
|
|
48025
|
+
this.fetchAttachments = (blobId, attachmentName) => this.neetoPlaywrightUtilities.apiRequest({
|
|
48026
|
+
url: `https://www.fastmailusercontent.com/jmap/download/${this.accountId}/${blobId}/${attachmentName}`,
|
|
48027
|
+
headers: this.headers,
|
|
48028
|
+
});
|
|
48029
|
+
if (!process.env.NEETO_AUTOMATION_FASTMAIL_API_KEY)
|
|
48030
|
+
throw new Error("Please set the environment variable NEETO_AUTOMATION_FASTMAIL_API_KEYS. Credentials can be found in the Automation Credentials vault in the BigBinary 1Password account.");
|
|
48031
|
+
this.headers = {
|
|
48032
|
+
"Content-Type": "application/json",
|
|
48033
|
+
Authorization: `Bearer ${process.env.NEETO_AUTOMATION_FASTMAIL_API_KEY}`,
|
|
48034
|
+
};
|
|
48035
|
+
}
|
|
48036
|
+
}
|
|
48037
|
+
|
|
48015
48038
|
const basicHTMLContent = (content) => `
|
|
48016
48039
|
<!DOCTYPE html>
|
|
48017
48040
|
<html lang="en">
|
|
@@ -188999,6 +189022,7 @@ const ORGANIZATION_TEXTS = {
|
|
|
188999
189022
|
};
|
|
189000
189023
|
|
|
189001
189024
|
/* eslint-disable playwright/require-top-level-describe */
|
|
189025
|
+
/* eslint-disable playwright/no-standalone-expect */
|
|
189002
189026
|
class HelpAndProfilePage {
|
|
189003
189027
|
constructor({ page, neetoPlaywrightUtilities, chatApiBaseURL, kbDocsBaseURL, changelogBaseURL, }) {
|
|
189004
189028
|
this.hoverOnBody = () => this.page.locator("body").hover();
|
|
@@ -189042,8 +189066,8 @@ class HelpAndProfilePage {
|
|
|
189042
189066
|
this.openAndVerifyChatWidgetV2 = async () => {
|
|
189043
189067
|
await this.page.reload();
|
|
189044
189068
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
189045
|
-
await test$1.test.step("
|
|
189046
|
-
await test$1.test.step("
|
|
189069
|
+
await test$1.test.step("1: Open live chat and verify iframe", () => this.openLiveChatAndVerify());
|
|
189070
|
+
await test$1.test.step("2: Close and reopen live chat frame", async () => {
|
|
189047
189071
|
await this.page.getByTestId(CHAT_WIDGET_SELECTORS.closeChat).click();
|
|
189048
189072
|
await test$1.expect(this.neetoChatWidget).toBeHidden({ timeout: 35000 });
|
|
189049
189073
|
await this.openLiveChatAndVerify();
|
|
@@ -189055,8 +189079,8 @@ class HelpAndProfilePage {
|
|
|
189055
189079
|
this.openAndVerifyChatWidget = async () => {
|
|
189056
189080
|
await this.page.reload();
|
|
189057
189081
|
await this.neetoPlaywrightUtilities.waitForPageLoad();
|
|
189058
|
-
await test$1.test.step("
|
|
189059
|
-
await test$1.test.step("
|
|
189082
|
+
await test$1.test.step("1: Open live chat and verify iframe", () => this.openLiveChatAndVerify());
|
|
189083
|
+
await test$1.test.step("2: Close and reopen live chat frame", async () => {
|
|
189060
189084
|
await this.page.getByTestId(CHAT_WIDGET_SELECTORS.closeChat).click();
|
|
189061
189085
|
await test$1.expect(this.neetoChatWidget).toBeHidden({ timeout: 35000 });
|
|
189062
189086
|
await this.openLiveChatAndVerify();
|
|
@@ -189069,8 +189093,8 @@ class HelpAndProfilePage {
|
|
|
189069
189093
|
* @deprecated This method is deprecated. Use openAndVerifyHelpArticles instead.
|
|
189070
189094
|
*/
|
|
189071
189095
|
this.openAndVerifyHelpArticlesV2 = async () => {
|
|
189072
|
-
await test$1.test.step("
|
|
189073
|
-
await test$1.test.step("
|
|
189096
|
+
await test$1.test.step("1: Open Help Center links", this.openHelpCenterV2);
|
|
189097
|
+
await test$1.test.step("2: Open and verify help articles link", async () => {
|
|
189074
189098
|
const helpArticlesPromise = this.page.waitForEvent("popup");
|
|
189075
189099
|
await this.page
|
|
189076
189100
|
.getByTestId(HELP_CENTER_SELECTORS.documentationButton)
|
|
@@ -189082,8 +189106,8 @@ class HelpAndProfilePage {
|
|
|
189082
189106
|
});
|
|
189083
189107
|
};
|
|
189084
189108
|
this.openAndVerifyHelpArticles = async () => {
|
|
189085
|
-
await test$1.test.step("
|
|
189086
|
-
await test$1.test.step("
|
|
189109
|
+
await test$1.test.step("1: Open Help Center links", this.openHelpCenter);
|
|
189110
|
+
await test$1.test.step("2: Open and verify help articles link", async () => {
|
|
189087
189111
|
const helpArticlesPromise = this.page.waitForEvent("popup");
|
|
189088
189112
|
await this.page
|
|
189089
189113
|
.getByTestId(HELP_CENTER_SELECTORS.documentationButton)
|
|
@@ -189104,15 +189128,15 @@ class HelpAndProfilePage {
|
|
|
189104
189128
|
* @deprecated This method is deprecated. Use openAndVerifyChangelog instead.
|
|
189105
189129
|
*/
|
|
189106
189130
|
this.openAndVerifyChangelogV2 = async () => {
|
|
189107
|
-
await test$1.test.step("
|
|
189108
|
-
await test$1.test.step("
|
|
189131
|
+
await test$1.test.step("1: Open Help Center links and changelog", this.openChangelogPane);
|
|
189132
|
+
await test$1.test.step("2: Close and reopen changelog pane", async () => {
|
|
189109
189133
|
await this.page
|
|
189110
189134
|
.getByTestId(CHANGELOG_WIDGET_SELECTORS.closeButton)
|
|
189111
189135
|
.click();
|
|
189112
189136
|
await test$1.expect(this.page.locator(CHANGELOG_WIDGET_SELECTORS.changelogWrapper)).toBeHidden();
|
|
189113
189137
|
await this.openChangelogPane();
|
|
189114
189138
|
});
|
|
189115
|
-
await test$1.test.step("
|
|
189139
|
+
await test$1.test.step("3: Open and verify public URL", async () => {
|
|
189116
189140
|
const changelogPagePromise = this.page.waitForEvent("popup");
|
|
189117
189141
|
await this.page
|
|
189118
189142
|
.getByTestId(CHANGELOG_WIDGET_SELECTORS.publicUrlLink)
|
|
@@ -189124,15 +189148,15 @@ class HelpAndProfilePage {
|
|
|
189124
189148
|
});
|
|
189125
189149
|
};
|
|
189126
189150
|
this.openAndVerifyChangelog = async () => {
|
|
189127
|
-
await test$1.test.step("
|
|
189128
|
-
await test$1.test.step("
|
|
189151
|
+
await test$1.test.step("1: Open Help Center links and changelog", this.openChangelogPane);
|
|
189152
|
+
await test$1.test.step("2: Close and reopen changelog pane", async () => {
|
|
189129
189153
|
await this.page
|
|
189130
189154
|
.getByTestId(CHANGELOG_WIDGET_SELECTORS.closeButton)
|
|
189131
189155
|
.click();
|
|
189132
189156
|
await test$1.expect(this.page.locator(CHANGELOG_WIDGET_SELECTORS.changelogWrapper)).toBeHidden();
|
|
189133
189157
|
await this.openChangelogPane();
|
|
189134
189158
|
});
|
|
189135
|
-
await test$1.test.step("
|
|
189159
|
+
await test$1.test.step("3: Open and verify public URL", async () => {
|
|
189136
189160
|
const changelogPagePromise = this.page.waitForEvent("popup");
|
|
189137
189161
|
await this.page
|
|
189138
189162
|
.getByTestId(CHANGELOG_WIDGET_SELECTORS.publicUrlLink)
|
|
@@ -189169,8 +189193,8 @@ class HelpAndProfilePage {
|
|
|
189169
189193
|
},
|
|
189170
189194
|
];
|
|
189171
189195
|
const shortcuts = [...globalShortcuts, ...productShortcuts];
|
|
189172
|
-
await test$1.test.step("
|
|
189173
|
-
await test$1.test.step("
|
|
189196
|
+
await test$1.test.step("1: Open Help Center", this.openHelpCenterV2);
|
|
189197
|
+
await test$1.test.step("2: Open and close keyboard shortcuts from UI", async () => {
|
|
189174
189198
|
await this.page
|
|
189175
189199
|
.getByTestId(HELP_CENTER_SELECTORS.keyboardShortcutButton)
|
|
189176
189200
|
.click();
|
|
@@ -189180,13 +189204,13 @@ class HelpAndProfilePage {
|
|
|
189180
189204
|
.click();
|
|
189181
189205
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).toHaveCSS("width", "1px");
|
|
189182
189206
|
});
|
|
189183
|
-
await test$1.test.step("
|
|
189207
|
+
await test$1.test.step("3: Open and close keyboard shortcuts through shortcut", async () => {
|
|
189184
189208
|
await this.page.keyboard.press("Shift+/");
|
|
189185
189209
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).not.toHaveCSS("width", "1px");
|
|
189186
189210
|
await this.page.keyboard.press("Escape");
|
|
189187
189211
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).toHaveCSS("width", "1px");
|
|
189188
189212
|
});
|
|
189189
|
-
await test$1.test.step("
|
|
189213
|
+
await test$1.test.step("4: Verify all displayed keyboard shortcuts", async () => {
|
|
189190
189214
|
await this.page.keyboard.press("Shift+/");
|
|
189191
189215
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).not.toHaveCSS("width", "1px");
|
|
189192
189216
|
await test$1.expect(this.page
|
|
@@ -189200,8 +189224,8 @@ class HelpAndProfilePage {
|
|
|
189200
189224
|
};
|
|
189201
189225
|
this.openAndVerifyKeyboardShortcutsPane = async (productShortcuts, osPlatform = "windows") => {
|
|
189202
189226
|
const shortcuts = [...globalShortcuts(this.t), ...productShortcuts];
|
|
189203
|
-
await test$1.test.step("
|
|
189204
|
-
await test$1.test.step("
|
|
189227
|
+
await test$1.test.step("1: Open Help Center", this.openHelpCenter);
|
|
189228
|
+
await test$1.test.step("2: Open and close keyboard shortcuts from UI", async () => {
|
|
189205
189229
|
await this.page
|
|
189206
189230
|
.getByTestId(HELP_CENTER_SELECTORS.keyboardShortcutButton)
|
|
189207
189231
|
.click();
|
|
@@ -189211,13 +189235,13 @@ class HelpAndProfilePage {
|
|
|
189211
189235
|
.click();
|
|
189212
189236
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).toHaveCSS("width", "1px");
|
|
189213
189237
|
});
|
|
189214
|
-
await test$1.test.step("
|
|
189238
|
+
await test$1.test.step("3: Open and close keyboard shortcuts through shortcut", async () => {
|
|
189215
189239
|
await this.page.keyboard.press("Shift+/");
|
|
189216
189240
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).not.toHaveCSS("width", "1px");
|
|
189217
189241
|
await this.page.keyboard.press("Escape");
|
|
189218
189242
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).toHaveCSS("width", "1px");
|
|
189219
189243
|
});
|
|
189220
|
-
await test$1.test.step("
|
|
189244
|
+
await test$1.test.step("4: Verify all displayed keyboard shortcuts", async () => {
|
|
189221
189245
|
await this.page.keyboard.press("Shift+/");
|
|
189222
189246
|
await test$1.expect(this.page.getByTestId(KEYBOARD_SHORTCUTS_SELECTORS.keyboardShortcutsPane)).not.toHaveCSS("width", "1px");
|
|
189223
189247
|
await test$1.expect(this.page
|
|
@@ -189236,12 +189260,12 @@ class HelpAndProfilePage {
|
|
|
189236
189260
|
const productName = "Playdash";
|
|
189237
189261
|
const searchQueryPartial = productName.slice(0, 4).toLowerCase();
|
|
189238
189262
|
const searchQueryFull = productName.toLowerCase();
|
|
189239
|
-
await test$1.test.step("
|
|
189263
|
+
await test$1.test.step("1: Verify hovering over app switcher opens the app switcher drawer", () => test$1.expect(async () => {
|
|
189240
189264
|
await this.openHelpCenterV2();
|
|
189241
189265
|
await this.page.getByTestId(COMMON_SELECTORS.appSwitcherButton).hover();
|
|
189242
189266
|
await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.appSwitcherWrapper)).toBeVisible();
|
|
189243
189267
|
}).toPass({ timeout: 45000 }));
|
|
189244
|
-
await test$1.test.step("
|
|
189268
|
+
await test$1.test.step("2: Verify search functionality", async () => {
|
|
189245
189269
|
const playdashAppLink = this.page.getByTestId(COMMON_SELECTORS.appLink(productName));
|
|
189246
189270
|
const replayAppLink = this.page.getByTestId(COMMON_SELECTORS.appLink("Replay"));
|
|
189247
189271
|
const searchInput = this.page.getByTestId(COMMON_SELECTORS.productSwitcherSearchInput);
|
|
@@ -189264,12 +189288,12 @@ class HelpAndProfilePage {
|
|
|
189264
189288
|
const productName = "Playdash";
|
|
189265
189289
|
const searchQueryPartial = productName.slice(0, 4).toLowerCase();
|
|
189266
189290
|
const searchQueryFull = productName.toLowerCase();
|
|
189267
|
-
await test$1.test.step("
|
|
189291
|
+
await test$1.test.step("1: Verify hovering over app switcher opens the app switcher drawer", () => test$1.expect(async () => {
|
|
189268
189292
|
await this.openHelpCenter();
|
|
189269
189293
|
await this.page.getByTestId(COMMON_SELECTORS.appSwitcherButton).hover();
|
|
189270
189294
|
await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.appSwitcherWrapper)).toBeVisible();
|
|
189271
189295
|
}).toPass({ timeout: 45000 }));
|
|
189272
|
-
await test$1.test.step("
|
|
189296
|
+
await test$1.test.step("2: Verify search functionality", async () => {
|
|
189273
189297
|
const playdashAppLink = this.page.getByTestId(COMMON_SELECTORS.appLink(productName));
|
|
189274
189298
|
const replayAppLink = this.page.getByTestId(COMMON_SELECTORS.appLink("Replay"));
|
|
189275
189299
|
const searchInput = this.page.getByTestId(COMMON_SELECTORS.productSwitcherSearchInput);
|
|
@@ -189294,8 +189318,8 @@ class HelpAndProfilePage {
|
|
|
189294
189318
|
this.verifyLogoutV2 = async () => {
|
|
189295
189319
|
if (shouldSkipSetupAndTeardown())
|
|
189296
189320
|
return;
|
|
189297
|
-
await test$1.test.step("
|
|
189298
|
-
await test$1.test.step("
|
|
189321
|
+
await test$1.test.step("1: Open Help center and verify", this.openHelpCenterV2);
|
|
189322
|
+
await test$1.test.step("2: Click logout and verify", async () => {
|
|
189299
189323
|
await this.page
|
|
189300
189324
|
.getByTestId(PROFILE_SECTION_SELECTORS.logoutButton)
|
|
189301
189325
|
.click({ timeout: 35000 });
|
|
@@ -189311,8 +189335,8 @@ class HelpAndProfilePage {
|
|
|
189311
189335
|
this.verifyLogout = async () => {
|
|
189312
189336
|
if (shouldSkipSetupAndTeardown())
|
|
189313
189337
|
return;
|
|
189314
|
-
await test$1.test.step("
|
|
189315
|
-
await test$1.test.step("
|
|
189338
|
+
await test$1.test.step("1: Open Help center and verify", this.openHelpCenter);
|
|
189339
|
+
await test$1.test.step("2: Click logout and verify", async () => {
|
|
189316
189340
|
await this.page
|
|
189317
189341
|
.getByTestId(PROFILE_SECTION_SELECTORS.logoutButton)
|
|
189318
189342
|
.click({ timeout: 35000 });
|
|
@@ -189343,8 +189367,8 @@ class HelpAndProfilePage {
|
|
|
189343
189367
|
* @deprecated This method is deprecated. Use verifyProfileAndOrganizationLinks instead.
|
|
189344
189368
|
*/
|
|
189345
189369
|
this.verifyProfileAndOrganizationLinksV3 = async () => {
|
|
189346
|
-
await test$1.test.step("
|
|
189347
|
-
await test$1.test.step("
|
|
189370
|
+
await test$1.test.step("1: Open Help center and verify", this.openHelpCenter);
|
|
189371
|
+
await test$1.test.step("2: Open My profile link and verify", async () => {
|
|
189348
189372
|
const profileSidebarHeader = this.page.getByTestId(COMMON_SELECTORS.paneHeader);
|
|
189349
189373
|
await this.page
|
|
189350
189374
|
.getByTestId(PROFILE_SECTION_SELECTORS.myProfileButton)
|
|
@@ -189355,8 +189379,8 @@ class HelpAndProfilePage {
|
|
|
189355
189379
|
linkName: this.t("neetoTeamMembers.buttons.manageBillingAndSubscriptions"),
|
|
189356
189380
|
});
|
|
189357
189381
|
});
|
|
189358
|
-
await test$1.test.step("
|
|
189359
|
-
await test$1.test.step("
|
|
189382
|
+
await test$1.test.step("3: Open Help center and verify", this.openHelpCenterV2);
|
|
189383
|
+
await test$1.test.step("4: Open My organization link and verify", async () => {
|
|
189360
189384
|
await this.page
|
|
189361
189385
|
.getByTestId(PROFILE_SECTION_SELECTORS.profileOrganizationSettingsButton)
|
|
189362
189386
|
.click();
|
|
@@ -189364,8 +189388,8 @@ class HelpAndProfilePage {
|
|
|
189364
189388
|
});
|
|
189365
189389
|
};
|
|
189366
189390
|
this.verifyProfileAndOrganizationLinks = async () => {
|
|
189367
|
-
await test$1.test.step("
|
|
189368
|
-
await test$1.test.step("
|
|
189391
|
+
await test$1.test.step("1: Open Help center and verify", this.openHelpCenter);
|
|
189392
|
+
await test$1.test.step("2: Open My profile link and verify", async () => {
|
|
189369
189393
|
const profileSidebarHeader = this.page.getByTestId(COMMON_SELECTORS.paneHeader);
|
|
189370
189394
|
await this.page
|
|
189371
189395
|
.getByTestId(PROFILE_SECTION_SELECTORS.myProfileButton)
|
|
@@ -189376,8 +189400,8 @@ class HelpAndProfilePage {
|
|
|
189376
189400
|
linkName: this.t("neetoTeamMembers.buttons.manageBillingAndSubscriptions"),
|
|
189377
189401
|
});
|
|
189378
189402
|
});
|
|
189379
|
-
await test$1.test.step("
|
|
189380
|
-
await test$1.test.step("
|
|
189403
|
+
await test$1.test.step("3: Open Help center and verify", this.openHelpCenter);
|
|
189404
|
+
await test$1.test.step("4: Open My organization link and verify", async () => {
|
|
189381
189405
|
await this.page
|
|
189382
189406
|
.getByTestId(PROFILE_SECTION_SELECTORS.profileOrganizationSettingsButton)
|
|
189383
189407
|
.click();
|
|
@@ -189385,8 +189409,8 @@ class HelpAndProfilePage {
|
|
|
189385
189409
|
});
|
|
189386
189410
|
};
|
|
189387
189411
|
this.openAndVerifyStatus = async (appName) => {
|
|
189388
|
-
await test$1.test.step("
|
|
189389
|
-
await test$1.test.step("
|
|
189412
|
+
await test$1.test.step("1: Open Help Center links", this.openHelpCenter);
|
|
189413
|
+
await test$1.test.step("2: Open and verify status page", async () => {
|
|
189390
189414
|
const statusPagePromise = this.page.waitForEvent("popup");
|
|
189391
189415
|
await this.page.getByTestId(HELP_CENTER_SELECTORS.statusButton).click();
|
|
189392
189416
|
const statusPage = await statusPagePromise;
|
|
@@ -189400,8 +189424,8 @@ class HelpAndProfilePage {
|
|
|
189400
189424
|
});
|
|
189401
189425
|
};
|
|
189402
189426
|
this.openAndVerifyCommunity = async () => {
|
|
189403
|
-
await test$1.test.step("
|
|
189404
|
-
await test$1.test.step("
|
|
189427
|
+
await test$1.test.step("1: Open Help Center links", this.openHelpCenter);
|
|
189428
|
+
await test$1.test.step("2: Open and verify community", async () => {
|
|
189405
189429
|
const communityPagePromise = this.page.waitForEvent("popup");
|
|
189406
189430
|
await this.page
|
|
189407
189431
|
.getByTestId(HELP_CENTER_SELECTORS.communityButton)
|