@bigbinary/neeto-playwright-commons 1.13.0 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -2,8 +2,8 @@ import * as fs$d from 'fs';
2
2
  import fs__default, { readFileSync, writeFileSync as writeFileSync$1, unlinkSync } from 'fs';
3
3
  import * as Path from 'path';
4
4
  import Path__default from 'path';
5
- import { execSync } from 'child_process';
6
5
  import test$1, { expect, test as test$2, chromium as chromium$1, defineConfig, devices } from '@playwright/test';
6
+ import { execSync } from 'child_process';
7
7
  import { curry, not, isEmpty as isEmpty$1, pluck, isNil, isNotNil, mergeDeepLeft, mergeAll } from 'ramda';
8
8
  import require$$0$1 from 'util';
9
9
  import { faker } from '@faker-js/faker';
@@ -61,6 +61,7 @@ const API_ROUTES = {
61
61
  bulkUpdate: "/team_members/teams/bulk_update",
62
62
  index: "/team_members/teams",
63
63
  show: (id) => `/team_members/teams/${id}`,
64
+ creationStatus: (id) => `/team_members/teams/creation_status/${id}`,
64
65
  },
65
66
  integrations: {
66
67
  zapier: {
@@ -214,54 +215,6 @@ const getListCount = async ({ page, countSelector, }) => {
214
215
  return Number(countText === null || countText === void 0 ? void 0 : countText.trim().split(" ")[0]);
215
216
  };
216
217
 
217
- const NEETO_FILTERS_SELECTORS = {
218
- emailSelectContainer: "email-select-container-wrapper",
219
- filterPaneHeading: "neeto-filters-pane-header",
220
- neetoFiltersEmailBlock: "neeto-filters-email-block",
221
- neetoFiltersRoleBlock: "neeto-filters-role-block",
222
- neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
223
- neetoFiltersNameFilterField: "neeto-filters-name-filter",
224
- neetoFilterNameBlock: "neeto-filters-name-block",
225
- roleSelectContainer: "role-select-container-wrapper",
226
- filterButton: "neeto-filters-toggle-btn",
227
- filtersClearButton: "neeto-filters-clear-btn",
228
- filterDoneButton: "neeto-filters-done-btn",
229
- filteredMembersCount: "ntm-filtered-members-count",
230
- allMenubarBlock: "ntm-members-menubar-all-block",
231
- filtersEmailFilter: "neeto-filters-email-filter",
232
- paneModalCrossIcon: "neeto-filters-close-button",
233
- searchTermBlock: "neeto-filters-search-term-block",
234
- neetoFiltersFilter: (filterName) => `neeto-filters-${hyphenize(filterName)}-filter`,
235
- };
236
-
237
- const NEETO_IMAGE_UPLOADER_SELECTORS = {
238
- imageUploaderWrapper: "image-uploader-wrapper",
239
- browseText: "neeto-image-uploader-browse-text",
240
- fileInput: "neeto-image-uploader-file-input",
241
- uploadedImage: "uploaded-image",
242
- uploadNewAsset: "upload-new-asset",
243
- basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
244
- removeButton: "image-uploader-remove-button",
245
- openImageLibraryButton: "image-uploader-open-image-library-button",
246
- openAssetLibraryButton: "open-asset-library-button",
247
- imageEditorBackButton: "image-editor-back-button",
248
- aspectRatioWidthInput: "aspect-ratio-width-input",
249
- aspectRatioHeightInput: "aspect-ratio-height-input",
250
- cropSubmitButton: "neeto-image-uploader-crop-submit-button",
251
- restrictionMessage: "neeto-image-uploader-restriction-message",
252
- progressBar: "neeto-image-uploader-progress-bar",
253
- myImagesTab: "neeto-image-uploader-my-images-tab",
254
- unsplashTab: "neeto-image-uploader-unsplash-tab",
255
- nthLibraryImage: (index) => `niu-library-image-${index}`,
256
- nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
257
- unsplashSearchInput: "niu-unsplash-image-picker-search-input",
258
- imageEditorUploadedImage: "image-editor-uploaded-image",
259
- selectOriginalImageSwitch: "select-original-image-switch",
260
- lockAspectRatioSwitch: "lock-aspect-ratio-switch",
261
- widthInputField: "width-input-field",
262
- heightInputField: "height-input-field",
263
- };
264
-
265
218
  const COMMON_SELECTORS = {
266
219
  emailInputError: "email-input-error",
267
220
  pane: "pane-wrapper",
@@ -354,6 +307,429 @@ const COMMON_SELECTORS = {
354
307
  customDropDownMenu: (label = "nui") => `${hyphenize(label)}-select-menu`,
355
308
  };
356
309
 
310
+ const THANK_YOU_SELECTORS = {
311
+ settingsLink: "thank-you-settings-link",
312
+ showSocialShareIconsSwitch: "show-social-share-icons-switch",
313
+ showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
314
+ submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
315
+ previewEditorContent: "preview-editor-content",
316
+ redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
317
+ thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
318
+ saveChangesButton: "neeto-thank-you-configuration-save-button",
319
+ cancelButton: "neeto-thank-you-configuration-cancel-button",
320
+ thankYouPageImage: "thank-you-page-image",
321
+ thankYouPageMessage: "thank-you-page-message",
322
+ thankYouPageContent: "thank-you-page-content",
323
+ thankYouPageResubmitLink: "thank-you-page-resubmit-link",
324
+ linkInputField: "link-input-field",
325
+ previewImage: "preview-image",
326
+ };
327
+
328
+ const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
329
+ const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
330
+
331
+ const NEETO_EDITOR_SELECTORS = {
332
+ fontSize: optionSelector("font-size"),
333
+ boldOption: optionSelector("bold"),
334
+ italicOption: optionSelector("italic"),
335
+ underlineOption: optionSelector("underline"),
336
+ strikeOption: optionSelector("strike"),
337
+ codeBlockOption: optionSelector("code"),
338
+ highlightOption: optionSelector("highlight"),
339
+ emojiOption: optionSelector("emoji"),
340
+ emojiDropdownIcon: "emoji-dropdown-icon",
341
+ linkInput: fixedMenuSelector("link-option-input"),
342
+ linkSubmitButton: fixedMenuSelector("link-option-link-button"),
343
+ commandList: (index) => `neeto-editor-command-list-item-${index}`,
344
+ imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
345
+ imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
346
+ uploadInput: "neeto-editor-media-uploader-input",
347
+ editorMenuBarWrapper: fixedMenuSelector("wrapper"),
348
+ undoOption: optionSelector("undo"),
349
+ redoOption: optionSelector("redo"),
350
+ imageWrapper: "neeto-editor-image-wrapper",
351
+ contentField: "neeto-editor-content",
352
+ addLinkButton: optionSelector("link"),
353
+ addLinkTextField: "neeto-editor-add-link-text-input",
354
+ addURLTextField: "neeto-editor-add-link-url-input",
355
+ submitLinkButton: "neeto-editor-add-link",
356
+ fixedMenuArrow: fixedMenuSelector("arrow"),
357
+ cannedResponseOption: optionSelector("canned-responses"),
358
+ cannedResponseSelectContainer: "select-a-canned-response-select-container",
359
+ fixedMenuWrapper: fixedMenuSelector("wrapper"),
360
+ linkOption: optionSelector("link"),
361
+ addLinkUrlInput: "neeto-editor-add-link-url-input",
362
+ addLinkDoneButton: "neeto-editor-add-link",
363
+ unlinkButton: "neeto-editor-link-popover-unlink",
364
+ editorAttachmentsButton: optionSelector("attachments"),
365
+ attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
366
+ imageUploadOption: optionSelector("image-upload"),
367
+ imageUploadLinkInput: "neeto-editor-media-upload-url-input",
368
+ imageUploadButton: "neeto-editor-media-uploader-dnd",
369
+ imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
370
+ applyButton: "apply-button",
371
+ videoEmbedOption: optionSelector("video-embed"),
372
+ videoEmbedInput: "neeto-editor-embed-input",
373
+ videoEmbedSubmit: "neeto-editor-embed-cancel",
374
+ videoWrapper: "neeto-editor-video-wrapper",
375
+ paragraphOption: fixedMenuSelector("font-size-option-body2"),
376
+ attachmentPreview: "ne-attachments-wrapper",
377
+ imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
378
+ errorText: "neeto-editor-error-text",
379
+ content: "editor-content",
380
+ imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
381
+ dynamicVariablesButton: "dynamic-variables-button",
382
+ emojiContainer: "neeto-editor-emoji-picker",
383
+ dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${variable}`,
384
+ };
385
+ const NEETO_TEXT_MODIFIER_SELECTORS = {
386
+ strike: optionSelector("strike"),
387
+ underline: optionSelector("underline"),
388
+ highlight: optionSelector("highlight"),
389
+ };
390
+ const TEXT_MODIFIER_SELECTORS = {
391
+ bold: optionSelector("bold"),
392
+ italic: optionSelector("italic"),
393
+ code: optionSelector("code"),
394
+ blockquote: optionSelector("blockquote"),
395
+ codeBlock: optionSelector("codeBlock"),
396
+ };
397
+ const LIST_MODIFIER_SELECTORS = {
398
+ bulletList: optionSelector("bulletList"),
399
+ orderedList: optionSelector("orderedList"),
400
+ };
401
+ const FONT_SIZE_SELECTORS = {
402
+ h1: fixedMenuSelector("font-size-option-h1"),
403
+ h2: fixedMenuSelector("font-size-option-h2"),
404
+ h3: fixedMenuSelector("font-size-option-h3"),
405
+ h4: fixedMenuSelector("font-size-option-h4"),
406
+ h5: fixedMenuSelector("font-size-option-h5"),
407
+ };
408
+
409
+ const EMBED_SELECTORS = {
410
+ iframe: (appName) => `#${appName}-iframe`,
411
+ modal: (appName) => `#${appName}-modal`,
412
+ close: (appName) => `#close-${appName}`,
413
+ loader: (appName) => `#${appName}-loader`,
414
+ inlineHeightInput: "inline-height-input-field",
415
+ inlineWidthInput: "inline-width-input-field",
416
+ inlineElementIdInput: "inline-element-id-input-field",
417
+ codeBlock: "code-block",
418
+ previewTab: "preview-tab",
419
+ htmlTab: "html-tab",
420
+ buttonTextInput: "button-text-input-field",
421
+ buttonPositionSelectContainer: "button-position-select-value-container",
422
+ buttonPositionSelectMenu: "button-position-select-menu",
423
+ buttonColorLabel: "button-color-label",
424
+ buttonTextColorLabel: "button-text-color-label",
425
+ colorPickerTarget: "color-picker-target",
426
+ colorpickerEditableInput: "colorpicker-editable-input",
427
+ showIconCheckbox: "show-icon-checkbox",
428
+ elementIdInput: "element-id-input-field",
429
+ previewElementPopupButton: "preview-element-popup-button",
430
+ };
431
+
432
+ const NEETO_FILTERS_SELECTORS = {
433
+ emailSelectContainer: "email-select-container-wrapper",
434
+ filterPaneHeading: "neeto-filters-pane-header",
435
+ neetoFiltersEmailBlock: "neeto-filters-email-block",
436
+ neetoFiltersRoleBlock: "neeto-filters-role-block",
437
+ neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
438
+ neetoFiltersNameFilterField: "neeto-filters-name-filter",
439
+ neetoFilterNameBlock: "neeto-filters-name-block",
440
+ roleSelectContainer: "role-select-container-wrapper",
441
+ filterButton: "neeto-filters-toggle-btn",
442
+ filtersClearButton: "neeto-filters-clear-btn",
443
+ filterDoneButton: "neeto-filters-done-btn",
444
+ filteredMembersCount: "ntm-filtered-members-count",
445
+ allMenubarBlock: "ntm-members-menubar-all-block",
446
+ filtersEmailFilter: "neeto-filters-email-filter",
447
+ paneModalCrossIcon: "neeto-filters-close-button",
448
+ searchTermBlock: "neeto-filters-search-term-block",
449
+ neetoFiltersFilter: (filterName) => `neeto-filters-${hyphenize(filterName)}-filter`,
450
+ };
451
+
452
+ const HELP_CENTER_SELECTORS = {
453
+ helpButton: "help-button",
454
+ documentationButton: "help-link-help-center-button",
455
+ keyboardShortcutButton: "help-link-keyboard-shortcut-button",
456
+ chatButton: "help-link-live-chat-button",
457
+ whatsNewButton: "help-link-engage-button",
458
+ whatsNewWidgetInfo: "h1",
459
+ whatsNewWidgetCloseButton: ".ne-widget-header__btn",
460
+ keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
461
+ keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
462
+ };
463
+
464
+ const NEETO_IMAGE_UPLOADER_SELECTORS = {
465
+ imageUploaderWrapper: "image-uploader-wrapper",
466
+ browseText: "neeto-image-uploader-browse-text",
467
+ fileInput: "neeto-image-uploader-file-input",
468
+ uploadedImage: "uploaded-image",
469
+ uploadNewAsset: "upload-new-asset",
470
+ basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
471
+ removeButton: "image-uploader-remove-button",
472
+ openImageLibraryButton: "image-uploader-open-image-library-button",
473
+ openAssetLibraryButton: "open-asset-library-button",
474
+ imageEditorBackButton: "image-editor-back-button",
475
+ aspectRatioWidthInput: "aspect-ratio-width-input",
476
+ aspectRatioHeightInput: "aspect-ratio-height-input",
477
+ cropSubmitButton: "neeto-image-uploader-crop-submit-button",
478
+ restrictionMessage: "neeto-image-uploader-restriction-message",
479
+ progressBar: "neeto-image-uploader-progress-bar",
480
+ myImagesTab: "neeto-image-uploader-my-images-tab",
481
+ unsplashTab: "neeto-image-uploader-unsplash-tab",
482
+ nthLibraryImage: (index) => `niu-library-image-${index}`,
483
+ nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
484
+ unsplashSearchInput: "niu-unsplash-image-picker-search-input",
485
+ imageEditorUploadedImage: "image-editor-uploaded-image",
486
+ selectOriginalImageSwitch: "select-original-image-switch",
487
+ lockAspectRatioSwitch: "lock-aspect-ratio-switch",
488
+ widthInputField: "width-input-field",
489
+ heightInputField: "height-input-field",
490
+ };
491
+
492
+ const LOGIN_SELECTORS = {
493
+ appleAuthenticationButton: "apple-authentication-button",
494
+ emailTextField: "login-email-text-field",
495
+ googleAuthenticationButton: "google-authentication-button",
496
+ githubAuthenticationButton: "github-authentication-button",
497
+ loginViaEmailButton: "login-via-email-button",
498
+ passwordTextField: "login-password-text-field",
499
+ rememberMeCheckBox: "login-remember-me-check-box",
500
+ submitButton: "login-submit-button",
501
+ twitterAuthenticationButton: "twitter-authentication-button",
502
+ };
503
+
504
+ const MEMBER_SELECTORS = {
505
+ membersTab: "members-nav-tab",
506
+ newButton: "ntm-add-member-button",
507
+ continueButton: "ntm-manage-member-continue-button",
508
+ submitButton: "ntm-manage-member-submit-button",
509
+ searchTextField: "ntm-search-members-input",
510
+ deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
511
+ activatedMembersButton: "ntm-members-menubar-active-block",
512
+ columnCheckBox: "neeto-ui-columns-checkbox",
513
+ roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
514
+ teamMembersTable: "ntm-members-table",
515
+ dropDownIcon: "ntm-members-table-row-dropdown-button",
516
+ editButton: "ntm-edit-member-button",
517
+ menuBarHeading: "ntm-members-menubar-heading",
518
+ removeMember: "ntm-deactivate-member-button",
519
+ columnsButton: "columns-dropdown-button",
520
+ columnsDropdownContainer: "columns-dropdown-container",
521
+ emailDropdownItemLabel: "email-checkbox-label",
522
+ roleDropdownItemLabel: "role-checkbox-label",
523
+ inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
524
+ heading: "ntm-manage-members-pane-header",
525
+ activateButton: "ntm-activate-members-button",
526
+ deactivateButton: "ntm-deactivate-members-button",
527
+ rolesButton: "ntm-manage-member-roles-button",
528
+ statusTag: "ntm-member-status-tag",
529
+ menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
530
+ takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
531
+ checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
532
+ };
533
+ const MEMBER_FORM_SELECTORS = {
534
+ emailTextField: "email-select-input-field",
535
+ firstNameTextField: "ntm-edit-member-first-name-text-field",
536
+ lastNameTextField: "ntm-edit-member-last-name-text-field",
537
+ emailInput: "ntm-manage-member-email-input",
538
+ emailErrorField: "emails-input-error",
539
+ cancelButton: "ntm-manage-member-cancel-button",
540
+ };
541
+
542
+ const PROFILE_SECTION_SELECTORS = {
543
+ profileSectionButton: "profile-section",
544
+ profilePopup: "profile-popup",
545
+ myProfileButton: "my-profile-button",
546
+ profileOrganizationSettingsButton: "profile-organization-settings-button",
547
+ logoutButton: "profile-logout-button",
548
+ neetoAuthLink: "ntm-visit-auth-button",
549
+ profileSidebarCancelButton: "ntm-profile-cancel-button",
550
+ profileAvatar: "profile-avatar",
551
+ actionHeaderUserEmail: "floating-action-menu-header-user-email",
552
+ };
553
+
554
+ const ROLES_SELECTORS = {
555
+ newButton: "ntm-add-role-button",
556
+ proceedButton: "ntm-add-role-submit-button",
557
+ cancelButton: "ntm-add-role-cancel-button",
558
+ tableHeaderRoleName: "ntm-roles-table-role-header",
559
+ nameTextField: "ntm-add-role-name-text-field",
560
+ searchTextField: "ntm-search-roles-input",
561
+ updateRolePaneHeading: "ntm-add-role-title",
562
+ updateRoleCancelButton: "ntm-add-role-cancel-button",
563
+ descriptionTextField: "ntm-add-role-description-text-field",
564
+ permissionCategoryTitle: "ntm-roles-permission-category-title",
565
+ headerColumn: "ntm-roles-table-header",
566
+ dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
567
+ tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
568
+ permissionCheckbox: "ntm-roles-permission-checkbox",
569
+ editRoleButton: "ntm-roles-table-edit-role-button",
570
+ deleteRoleButton: "ntm-roles-table-delete-role-button",
571
+ permissionCard: "ntm-roles-permission-card",
572
+ };
573
+
574
+ const SIGNUP_SELECTORS = {
575
+ emailTextField: "signup-email-text-field",
576
+ firstNameTextField: "signup-profile-first-name-text-field",
577
+ lastNameTextField: "signup-profile-last-name-text-field",
578
+ organizationNameTextField: "signup-organization-name-text-field",
579
+ organizationSubmitButton: "signup-organization-submit-button",
580
+ otpTextBox: "otpinput-otp-number",
581
+ profileSubmitButton: "signup-profile-submit-button",
582
+ signupViaEmailButton: "signup-via-email-button",
583
+ submitButton: "signup-email-submit-button",
584
+ subdomainNameTextField: "signup-organization-subdomain-text-field",
585
+ subdomainError: "subdomain-input-error",
586
+ tryFreeButton: "neeto-auth-signup-link",
587
+ unregisterdEmailError: "unregisterd-email-error",
588
+ };
589
+
590
+ const TAB_SELECTORS = {
591
+ configureTab: "configure-tab",
592
+ buildTab: "build-tab",
593
+ themeTab: "theme-tab",
594
+ shareTab: "share-tab",
595
+ submissionsTab: "submissions-tab",
596
+ paymentsTab: "payments-tab",
597
+ };
598
+
599
+ const TAGS_SELECTORS = {
600
+ newTagButton: "add-new-tag-button",
601
+ tagNameTextField: "tag-name-text-field",
602
+ editButton: "tags-edit-button",
603
+ deleteButton: "tags-delete-button",
604
+ cancelButton: "neeto-tags-manage-tag-cancel-button",
605
+ submitButton: "neeto-tags-manage-tag-submit-button",
606
+ searchTextField: "neeto-tags-search-text-input-field",
607
+ descriptionTextArea: "tag-description-text-area",
608
+ addTagButton: "neeto-tags-add-tag-button",
609
+ tagSearchField: "select-tag-container",
610
+ deleteTagButton: "tag-close-icon",
611
+ metaDataCard: "metadata-card",
612
+ metaDataBlock: "metadata-block",
613
+ tagContainer: "tag-container",
614
+ };
615
+ const MERGE_TAGS_SELECTORS = {
616
+ mergeTagsButton: "neeto-tags-merge-tags-button",
617
+ mergeButton: "neeto-tags-merge-button",
618
+ sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
619
+ sourceTagsList: "neeto-tags-merge-source-tags-list",
620
+ destinationTagsList: "neeto-tags-merge-destination-tags-list",
621
+ destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
622
+ cancelButton: "neeto-tags-merge-cancel-button",
623
+ proceedButton: "neeto-tags-merge-proceed-button",
624
+ disabledTag: ".neeto-ui-cursor-not-allowed",
625
+ sourceTagRow: "neeto-tags-merge-source-tags",
626
+ destinationTagRow: "neeto-tags-merge-destination-tags",
627
+ };
628
+
629
+ const CHAT_WIDGET_SELECTORS = {
630
+ iframe: "#neetochat-iframe",
631
+ spinner: ".neeto-chat-widget-spinner",
632
+ helpButton: "help-button",
633
+ preChatEmailInput: "neeto-chat-widget-input",
634
+ preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
635
+ chatBubble: "neeto-chat-widget-chat-message-bubble",
636
+ closeChat: "neeto-chat-widget-close-btn",
637
+ chatQuestionHeader: "chat-question-header",
638
+ };
639
+ const CHANGELOG_WIDGET_SELECTORS = {
640
+ changelogWrapper: ".ne-widget__wrapper",
641
+ closeButton: "ne-widget-close-btn",
642
+ publicUrlLink: "ne-widget-public-url",
643
+ };
644
+ const KEYBOARD_SHORTCUTS_SELECTORS = {
645
+ keyboardShortcutsPane: "keyboard-shortcuts-pane",
646
+ closePaneButton: "keyboard-shortcuts-pane-close-button",
647
+ hotKeyItem: "hotkey-item",
648
+ };
649
+
650
+ const INTEGRATION_SELECTORS = {
651
+ integrationCard: (integration) => `${integration}-integration-card`,
652
+ connectButton: "connect-button",
653
+ integrationStatusTag: "integration-status-tag",
654
+ disconnectButton: "disconnect-button",
655
+ manageButton: "manage-button",
656
+ };
657
+
658
+ const GOOGLE_LOGIN_SELECTORS = {
659
+ totpNext: "#totpNext",
660
+ form: "form",
661
+ totpChallengeSelector: '[data-challengeid="2"]',
662
+ signOutFrameLocator: 'iframe[name="account"]',
663
+ };
664
+
665
+ const dataQa = (value) => `[data-qa='${value}']`;
666
+ const SLACK_SELECTORS = {
667
+ messageContainer: dataQa("message_container"),
668
+ loginEmail: dataQa("login_email"),
669
+ loginPassword: dataQa("login_password"),
670
+ signInButton: dataQa("signin_button"),
671
+ teamPicketButtonContent: dataQa("team-picker-button-content"),
672
+ redirectOpenInBrowser: dataQa("ssb_redirect_open_in_browser"),
673
+ workspaceActionsButton: dataQa("workspace_actions_button"),
674
+ teamMenuTrigger: dataQa("team-menu-trigger"),
675
+ menuItemButton: "menu_item_button",
676
+ threadsFlexpane: "threads_flexpane",
677
+ replyBar: "reply_bar",
678
+ markdownElement: "bk_markdown_element",
679
+ virtualListItem: "virtual-list-item",
680
+ channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
681
+ };
682
+ const SLACK_DATA_QA_SELECTORS = {
683
+ sectionHeadingButton: "section_heading_button__channels",
684
+ coachMarkCloseButton: "coachmark-close-button",
685
+ messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
686
+ permissionBannerCloseIcon: "banner_close_btn",
687
+ channelSectionSubmenuCreate: "channel_section_submenu_create",
688
+ channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
689
+ skModalContent: "sk-modal-content",
690
+ infiniteSpinner: "infinite-spinner",
691
+ channelNameOptionsList: "channel-name-options-list",
692
+ channelNameInput: "channel-name-input",
693
+ createChannelNextButton: "create-channel-next-button",
694
+ inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
695
+ menuItems: "menu_items",
696
+ channelDetailsModal: "channel_details_modal",
697
+ channelDetailsSettingsTab: "channel_details_settings_tab",
698
+ };
699
+
700
+ const WEBHOOK_SELECTORS = {
701
+ addNewWebhook: "add-new-webhook-button",
702
+ endpointInputField: "endpoint-input-field",
703
+ deliveryResponseCode: "delivery-response-code",
704
+ deliveryRequestPayload: "delivery-request-payload",
705
+ addSecretKey: "add-secret-key",
706
+ newWebhookHeader: "add-new-webhook-pane-header",
707
+ endpointInputError: "endpoint-input-error",
708
+ eventsSelectError: "events-select-error",
709
+ regenerateSecret: "regenerate-secret",
710
+ deleteSecret: "delete-secret",
711
+ };
712
+
713
+ const ZAPIER_SELECTORS = {
714
+ zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
715
+ zapAccountSubstep: "[data-testid='substep-Account']",
716
+ zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
717
+ modal: "[data-testid='Modal']",
718
+ fmPrettytext: ".fm-prettytext",
719
+ spinner: "[data-testid='spinner']",
720
+ skeletonBlock: "[data-testid='SkeletonBlock']",
721
+ accountsLoader: "[data-testid='accounts-loader']",
722
+ floatingBox: "[data-testid='floating-box']",
723
+ connection: "[data-testid='Connection']",
724
+ deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
725
+ deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
726
+ usageAmounts: "css=[class$=UsageBar__amounts]",
727
+ universalSidebar: "[data-testid='universalSidebar']",
728
+ sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
729
+ contextualSideBar: "[data-testid='contextual-sidebar']",
730
+ iconContainer: "[data-testid='iconContainer']",
731
+ };
732
+
357
733
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
358
734
 
359
735
  function getDefaultExportFromCjs (x) {
@@ -11792,7 +12168,7 @@ const commands = {
11792
12168
  }
11793
12169
  },
11794
12170
  page: async ({ page }, use) => {
11795
- await page.goto("/");
12171
+ await page.goto("/", { timeout: 20000 });
11796
12172
  await page.waitForLoadState();
11797
12173
  await use(page);
11798
12174
  },
@@ -20765,114 +21141,6 @@ const i18nFixture = {
20765
21141
  ],
20766
21142
  };
20767
21143
 
20768
- const THANK_YOU_SELECTORS = {
20769
- settingsLink: "thank-you-settings-link",
20770
- showSocialShareIconsSwitch: "show-social-share-icons-switch",
20771
- showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
20772
- submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
20773
- previewEditorContent: "preview-editor-content",
20774
- redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
20775
- thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
20776
- saveChangesButton: "neeto-thank-you-configuration-save-button",
20777
- cancelButton: "neeto-thank-you-configuration-cancel-button",
20778
- thankYouPageImage: "thank-you-page-image",
20779
- thankYouPageMessage: "thank-you-page-message",
20780
- thankYouPageContent: "thank-you-page-content",
20781
- thankYouPageResubmitLink: "thank-you-page-resubmit-link",
20782
- linkInputField: "link-input-field",
20783
- previewImage: "preview-image",
20784
- };
20785
-
20786
- const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
20787
- const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
20788
-
20789
- const NEETO_EDITOR_SELECTORS = {
20790
- fontSize: optionSelector("font-size"),
20791
- boldOption: optionSelector("bold"),
20792
- italicOption: optionSelector("italic"),
20793
- underlineOption: optionSelector("underline"),
20794
- strikeOption: optionSelector("strike"),
20795
- codeBlockOption: optionSelector("code"),
20796
- highlightOption: optionSelector("highlight"),
20797
- emojiOption: optionSelector("emoji"),
20798
- emojiDropdownIcon: "emoji-dropdown-icon",
20799
- linkInput: fixedMenuSelector("link-option-input"),
20800
- linkSubmitButton: fixedMenuSelector("link-option-link-button"),
20801
- commandList: (index) => `neeto-editor-command-list-item-${index}`,
20802
- imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
20803
- imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
20804
- uploadInput: "neeto-editor-media-uploader-input",
20805
- editorMenuBarWrapper: fixedMenuSelector("wrapper"),
20806
- undoOption: optionSelector("undo"),
20807
- redoOption: optionSelector("redo"),
20808
- imageWrapper: "neeto-editor-image-wrapper",
20809
- contentField: "neeto-editor-content",
20810
- addLinkButton: optionSelector("link"),
20811
- addLinkTextField: "neeto-editor-add-link-text-input",
20812
- addURLTextField: "neeto-editor-add-link-url-input",
20813
- submitLinkButton: "neeto-editor-add-link",
20814
- fixedMenuArrow: fixedMenuSelector("arrow"),
20815
- cannedResponseOption: optionSelector("canned-responses"),
20816
- cannedResponseSelectContainer: "select-a-canned-response-select-container",
20817
- fixedMenuWrapper: fixedMenuSelector("wrapper"),
20818
- linkOption: optionSelector("link"),
20819
- addLinkUrlInput: "neeto-editor-add-link-url-input",
20820
- addLinkDoneButton: "neeto-editor-add-link",
20821
- unlinkButton: "neeto-editor-link-popover-unlink",
20822
- editorAttachmentsButton: optionSelector("attachments"),
20823
- attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
20824
- imageUploadOption: optionSelector("image-upload"),
20825
- imageUploadLinkInput: "neeto-editor-media-upload-url-input",
20826
- imageUploadButton: "neeto-editor-media-uploader-dnd",
20827
- imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
20828
- applyButton: "apply-button",
20829
- videoEmbedOption: optionSelector("video-embed"),
20830
- videoEmbedInput: "neeto-editor-embed-input",
20831
- videoEmbedSubmit: "neeto-editor-embed-cancel",
20832
- videoWrapper: "neeto-editor-video-wrapper",
20833
- paragraphOption: fixedMenuSelector("font-size-option-body2"),
20834
- attachmentPreview: "ne-attachments-wrapper",
20835
- imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
20836
- errorText: "neeto-editor-error-text",
20837
- content: "editor-content",
20838
- imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
20839
- dynamicVariablesButton: "dynamic-variables-button",
20840
- emojiContainer: "neeto-editor-emoji-picker",
20841
- dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${variable}`,
20842
- };
20843
- const NEETO_TEXT_MODIFIER_SELECTORS = {
20844
- strike: optionSelector("strike"),
20845
- underline: optionSelector("underline"),
20846
- highlight: optionSelector("highlight"),
20847
- };
20848
- const TEXT_MODIFIER_SELECTORS = {
20849
- bold: optionSelector("bold"),
20850
- italic: optionSelector("italic"),
20851
- code: optionSelector("code"),
20852
- blockquote: optionSelector("blockquote"),
20853
- codeBlock: optionSelector("codeBlock"),
20854
- };
20855
- const LIST_MODIFIER_SELECTORS = {
20856
- bulletList: optionSelector("bulletList"),
20857
- orderedList: optionSelector("orderedList"),
20858
- };
20859
- const FONT_SIZE_SELECTORS = {
20860
- h1: fixedMenuSelector("font-size-option-h1"),
20861
- h2: fixedMenuSelector("font-size-option-h2"),
20862
- h3: fixedMenuSelector("font-size-option-h3"),
20863
- h4: fixedMenuSelector("font-size-option-h4"),
20864
- h5: fixedMenuSelector("font-size-option-h5"),
20865
- };
20866
-
20867
- const TAB_SELECTORS = {
20868
- configureTab: "configure-tab",
20869
- buildTab: "build-tab",
20870
- themeTab: "theme-tab",
20871
- shareTab: "share-tab",
20872
- submissionsTab: "submissions-tab",
20873
- paymentsTab: "payments-tab",
20874
- };
20875
-
20876
21144
  class ThankYouPage {
20877
21145
  constructor(page, neetoPlaywrightUtilities) {
20878
21146
  this.navigateToThankYouPage = async () => {
@@ -20932,29 +21200,6 @@ class ThankYouPage {
20932
21200
  }
20933
21201
  }
20934
21202
 
20935
- const EMBED_SELECTORS = {
20936
- iframe: (appName) => `#${appName}-iframe`,
20937
- modal: (appName) => `#${appName}-modal`,
20938
- close: (appName) => `#close-${appName}`,
20939
- loader: (appName) => `#${appName}-loader`,
20940
- inlineHeightInput: "inline-height-input-field",
20941
- inlineWidthInput: "inline-width-input-field",
20942
- inlineElementIdInput: "inline-element-id-input-field",
20943
- codeBlock: "code-block",
20944
- previewTab: "preview-tab",
20945
- htmlTab: "html-tab",
20946
- buttonTextInput: "button-text-input-field",
20947
- buttonPositionSelectContainer: "button-position-select-value-container",
20948
- buttonPositionSelectMenu: "button-position-select-menu",
20949
- buttonColorLabel: "button-color-label",
20950
- buttonTextColorLabel: "button-text-color-label",
20951
- colorPickerTarget: "color-picker-target",
20952
- colorpickerEditableInput: "colorpicker-editable-input",
20953
- showIconCheckbox: "show-icon-checkbox",
20954
- elementIdInput: "element-id-input-field",
20955
- previewElementPopupButton: "preview-element-popup-button",
20956
- };
20957
-
20958
21203
  class EmbedBase {
20959
21204
  constructor({ context, page, neetoPlaywrightUtilities, appName, }) {
20960
21205
  this.initializeEmbedPage = async ({ embedType, embedCode, customElementText = "Click here", }) => {
@@ -20965,7 +21210,9 @@ class EmbedBase {
20965
21210
  : embedCode);
20966
21211
  this.filePath = `tmp/${faker.word.noun()}.html`;
20967
21212
  writeFileSync$1(this.filePath, fileContent, "utf8");
20968
- await this.embedTestPage.goto(`file://${Path__default.resolve(this.filePath)}`);
21213
+ await this.embedTestPage.goto(`file://${Path__default.resolve(this.filePath)}`, {
21214
+ timeout: 20000,
21215
+ });
20969
21216
  await this.embedTestPage.waitForLoadState("load");
20970
21217
  this.embeddedFrame = this.embedTestPage.frameLocator(this.embedTestPageType === "inline"
20971
21218
  ? "iframe"
@@ -21211,52 +21458,6 @@ const GOOGLE_LOGIN_TEXTS = {
21211
21458
  };
21212
21459
  const ENGAGE_TEXTS = { subscribe: "Subscribe" };
21213
21460
 
21214
- const HELP_CENTER_SELECTORS = {
21215
- helpButton: "help-button",
21216
- documentationButton: "help-link-help-center-button",
21217
- keyboardShortcutButton: "help-link-keyboard-shortcut-button",
21218
- chatButton: "help-link-live-chat-button",
21219
- whatsNewButton: "help-link-engage-button",
21220
- whatsNewWidgetInfo: "h1",
21221
- whatsNewWidgetCloseButton: ".ne-widget-header__btn",
21222
- keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
21223
- keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
21224
- };
21225
-
21226
- const PROFILE_SECTION_SELECTORS = {
21227
- profileSectionButton: "profile-section",
21228
- profilePopup: "profile-popup",
21229
- myProfileButton: "my-profile-button",
21230
- profileOrganizationSettingsButton: "profile-organization-settings-button",
21231
- logoutButton: "profile-logout-button",
21232
- neetoAuthLink: "ntm-visit-auth-button",
21233
- profileSidebarCancelButton: "ntm-profile-cancel-button",
21234
- profileAvatar: "profile-avatar",
21235
- actionHeaderUserEmail: "floating-action-menu-header-user-email",
21236
- };
21237
-
21238
- const CHAT_WIDGET_SELECTORS = {
21239
- iframe: "#neetochat-iframe",
21240
- spinner: ".neeto-chat-widget-spinner",
21241
- helpButton: "help-button",
21242
- preChatEmailInput: "neeto-chat-widget-input",
21243
- preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
21244
- chatBubble: "neeto-chat-widget-chat-message-bubble",
21245
- closeChat: "neeto-chat-widget-close-btn",
21246
- chatQuestionHeader: "chat-question-header",
21247
- };
21248
- const CHANGELOG_WIDGET_SELECTORS = {
21249
- changelogWrapper: ".ne-widget__wrapper",
21250
- closeButton: "ne-widget-close-btn",
21251
- publicUrlLink: "ne-widget-public-url",
21252
- };
21253
- const KEYBOARD_SHORTCUTS_SELECTORS = {
21254
- keyboardShortcutsPane: "keyboard-shortcuts-pane",
21255
- closePaneButton: "keyboard-shortcuts-pane-close-button",
21256
- hotKeyItem: "hotkey-item",
21257
- };
21258
-
21259
- /* eslint-disable playwright/no-raw-locators */
21260
21461
  /* eslint-disable playwright/require-top-level-describe */
21261
21462
  /* eslint-disable playwright/no-standalone-expect */
21262
21463
  class HelpAndProfilePage {
@@ -21482,13 +21683,6 @@ class HelpAndProfilePage {
21482
21683
  }
21483
21684
  }
21484
21685
 
21485
- const GOOGLE_LOGIN_SELECTORS = {
21486
- totpNext: "#totpNext",
21487
- form: "form",
21488
- totpChallengeSelector: '[data-challengeid="2"]',
21489
- signOutFrameLocator: 'iframe[name="account"]',
21490
- };
21491
-
21492
21686
  //! otpauth 9.3.1 | (c) Héctor Molinero Fernández | MIT | https://github.com/hectorm/otpauth
21493
21687
  //! noble-hashes 1.4.0 | (c) Paul Miller | MIT | https://github.com/paulmillr/noble-hashes
21494
21688
  /// <reference types="./otpauth.d.ts" />
@@ -23235,14 +23429,6 @@ const initializeTotp = ({ issuer, secret, }) => {
23235
23429
  });
23236
23430
  };
23237
23431
 
23238
- const INTEGRATION_SELECTORS = {
23239
- integrationCard: (integration) => `${integration}-integration-card`,
23240
- connectButton: "connect-button",
23241
- integrationStatusTag: "integration-status-tag",
23242
- disconnectButton: "disconnect-button",
23243
- manageButton: "manage-button",
23244
- };
23245
-
23246
23432
  class IntegrationBase {
23247
23433
  constructor({ page, neetoPlaywrightUtilities, integration, connectHeader, connectedHeader, pageloaderTimeout, integrationRouteIndex, integrationRouteResponsesParams, }) {
23248
23434
  this.disconnect = async (interceptMultipleResponsesParams = {}) => {
@@ -23287,7 +23473,7 @@ class IntegrationBase {
23287
23473
  times: 0,
23288
23474
  ...this.integrationRouteResponsesParams,
23289
23475
  });
23290
- await this.page.goto(this.integrationRouteIndex);
23476
+ await this.page.goto(this.integrationRouteIndex, { timeout: 20000 });
23291
23477
  await integrationIndexPromise;
23292
23478
  }
23293
23479
  };
@@ -23352,7 +23538,7 @@ class GooglePage extends IntegrationBase {
23352
23538
  .click();
23353
23539
  };
23354
23540
  this.loginToGoogle = async () => {
23355
- await this.page.goto(THIRD_PARTY_ROUTES.google.signin);
23541
+ await this.page.goto(THIRD_PARTY_ROUTES.google.signin, { timeout: 20000 });
23356
23542
  if (!isNotNil(process.env.GOOGLE_LOGIN_EMAIL))
23357
23543
  return;
23358
23544
  await this.page
@@ -23398,7 +23584,9 @@ class GooglePage extends IntegrationBase {
23398
23584
  }).toPass({ timeout: 50000 });
23399
23585
  };
23400
23586
  this.logoutFromGoogle = async () => {
23401
- await this.page.goto(THIRD_PARTY_ROUTES.google.myAccount);
23587
+ await this.page.goto(THIRD_PARTY_ROUTES.google.myAccount, {
23588
+ timeout: 20000,
23589
+ });
23402
23590
  await this.page.getByLabel(GOOGLE_LOGIN_TEXTS.googleAccount).click();
23403
23591
  await this.page
23404
23592
  .frameLocator(GOOGLE_LOGIN_SELECTORS.signOutFrameLocator)
@@ -23451,40 +23639,6 @@ class GooglePage extends IntegrationBase {
23451
23639
  }
23452
23640
  }
23453
23641
 
23454
- const SLACK_SELECTORS = {
23455
- messageContainer: "[data-qa='message_container']",
23456
- loginEmail: "[data-qa='login_email']",
23457
- loginPassword: "[data-qa='login_password']",
23458
- signInButton: "[data-qa='signin_button']",
23459
- teamPicketButtonContent: "[data-qa='team-picker-button-content']",
23460
- redirectOpenInBrowser: "[data-qa='ssb_redirect_open_in_browser']",
23461
- workspaceActionsButton: "[data-qa='workspace_actions_button']",
23462
- teamMenuTrigger: "[data-qa='team-menu-trigger']",
23463
- menuItemButton: "[data-qa='menu_item_button']",
23464
- threadsFlexpane: "[data-qa='threads_flexpane']",
23465
- replyBar: "[data-qa='reply_bar']",
23466
- markdownElement: "[data-qa='bk_markdown_element']",
23467
- virtualListItem: "[data-qa='virtual-list-item']",
23468
- channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
23469
- };
23470
- const SLACK_DATA_QA_SELECTORS = {
23471
- sectionHeadingButton: "section_heading_button__channels",
23472
- coachMarkCloseButton: "coachmark-close-button",
23473
- messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
23474
- permissionBannerCloseIcon: "banner_close_btn",
23475
- channelSectionSubmenuCreate: "channel_section_submenu_create",
23476
- channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
23477
- skModalContent: "sk-modal-content",
23478
- infiniteSpinner: "infinite-spinner",
23479
- channelNameOptionsList: "channel-name-options-list",
23480
- channelNameInput: "channel-name-input",
23481
- createChannelNextButton: "create-channel-next-button",
23482
- inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
23483
- menuItems: "menu_items",
23484
- channelDetailsModal: "channel_details_modal",
23485
- channelDetailsSettingsTab: "channel_details_settings_tab",
23486
- };
23487
-
23488
23642
  /* eslint-disable playwright/no-raw-locators */
23489
23643
  class SlackPage extends IntegrationBase {
23490
23644
  constructor({ page, neetoPlaywrightUtilities, integrationRouteIndex, }) {
@@ -23596,7 +23750,7 @@ class SlackPage extends IntegrationBase {
23596
23750
  if (isNotNil(slackWorkspace) &&
23597
23751
  isNotNil(slackLoginPassword) &&
23598
23752
  isNotNil(slackLoginEmail)) {
23599
- await slackWebappPage.goto(THIRD_PARTY_ROUTES.slack.loginWithPassword(slackWorkspace));
23753
+ await slackWebappPage.goto(THIRD_PARTY_ROUTES.slack.loginWithPassword(slackWorkspace), { timeout: 20000 });
23600
23754
  await slackWebappPage
23601
23755
  .locator(SLACK_SELECTORS.loginEmail)
23602
23756
  .pressSequentially(slackLoginEmail, { delay: 10 });
@@ -23675,19 +23829,6 @@ class SlackPage extends IntegrationBase {
23675
23829
  }
23676
23830
  }
23677
23831
 
23678
- const WEBHOOK_SELECTORS = {
23679
- addNewWebhook: "add-new-webhook-button",
23680
- endpointInputField: "endpoint-input-field",
23681
- deliveryResponseCode: "delivery-response-code",
23682
- deliveryRequestPayload: "delivery-request-payload",
23683
- addSecretKey: "add-secret-key",
23684
- newWebhookHeader: "add-new-webhook-pane-header",
23685
- endpointInputError: "endpoint-input-error",
23686
- eventsSelectError: "events-select-error",
23687
- regenerateSecret: "regenerate-secret",
23688
- deleteSecret: "delete-secret",
23689
- };
23690
-
23691
23832
  class WebhooksPage {
23692
23833
  constructor({ page, request, neetoPlaywrightUtilities, context, }) {
23693
23834
  this.getWebhookURL = async () => {
@@ -23754,26 +23895,6 @@ class WebhooksPage {
23754
23895
  }
23755
23896
  }
23756
23897
 
23757
- const ZAPIER_SELECTORS = {
23758
- zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
23759
- zapAccountSubstep: "[data-testid='substep-Account']",
23760
- zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
23761
- modal: "[data-testid='Modal']",
23762
- fmPrettytext: ".fm-prettytext",
23763
- spinner: "[data-testid='spinner']",
23764
- skeletonBlock: "[data-testid='SkeletonBlock']",
23765
- accountsLoader: "[data-testid='accounts-loader']",
23766
- floatingBox: "[data-testid='floating-box']",
23767
- connection: "[data-testid='Connection']",
23768
- deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
23769
- deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
23770
- usageAmounts: "css=[class$=UsageBar__amounts]",
23771
- universalSidebar: "[data-testid='universalSidebar']",
23772
- sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
23773
- contextualSideBar: "[data-testid='contextual-sidebar']",
23774
- iconContainer: "[data-testid='iconContainer']",
23775
- };
23776
-
23777
23898
  class ZapierPage extends IntegrationBase {
23778
23899
  constructor({ page, neetoPlaywrightUtilities, integrationRouteIndex, mailerUtils, }) {
23779
23900
  super({
@@ -24285,7 +24406,7 @@ class EditorPage {
24285
24406
  }
24286
24407
 
24287
24408
  class ImageUploader {
24288
- constructor({ page, neetoPlaywrightUtilities, }) {
24409
+ constructor(page, neetoPlaywrightUtilities) {
24289
24410
  this.submitCroppedImage = async () => {
24290
24411
  const cropImage = this.neetoPlaywrightUtilities.interceptMultipleResponses({
24291
24412
  responseUrl: ROUTES.directUploads,
@@ -24425,44 +24546,6 @@ class ImageUploader {
24425
24546
  }
24426
24547
  }
24427
24548
 
24428
- const MEMBER_SELECTORS = {
24429
- membersTab: "members-nav-tab",
24430
- newButton: "ntm-add-member-button",
24431
- continueButton: "ntm-manage-member-continue-button",
24432
- submitButton: "ntm-manage-member-submit-button",
24433
- searchTextField: "ntm-search-members-input",
24434
- deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
24435
- activatedMembersButton: "ntm-members-menubar-active-block",
24436
- columnCheckBox: "neeto-ui-columns-checkbox",
24437
- roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
24438
- teamMembersTable: "ntm-members-table",
24439
- dropDownIcon: "ntm-members-table-row-dropdown-button",
24440
- editButton: "ntm-edit-member-button",
24441
- menuBarHeading: "ntm-members-menubar-heading",
24442
- removeMember: "ntm-deactivate-member-button",
24443
- columnsButton: "columns-dropdown-button",
24444
- columnsDropdownContainer: "columns-dropdown-container",
24445
- emailDropdownItemLabel: "email-checkbox-label",
24446
- roleDropdownItemLabel: "role-checkbox-label",
24447
- inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
24448
- heading: "ntm-manage-members-pane-header",
24449
- activateButton: "ntm-activate-members-button",
24450
- deactivateButton: "ntm-deactivate-members-button",
24451
- rolesButton: "ntm-manage-member-roles-button",
24452
- statusTag: "ntm-member-status-tag",
24453
- menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
24454
- takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
24455
- checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
24456
- };
24457
- const MEMBER_FORM_SELECTORS = {
24458
- emailTextField: "email-select-input-field",
24459
- firstNameTextField: "ntm-edit-member-first-name-text-field",
24460
- lastNameTextField: "ntm-edit-member-last-name-text-field",
24461
- emailInput: "ntm-manage-member-email-input",
24462
- emailErrorField: "emails-input-error",
24463
- cancelButton: "ntm-manage-member-cancel-button",
24464
- };
24465
-
24466
24549
  class TeamMembers {
24467
24550
  constructor({ page, neetoPlaywrightUtilities, }) {
24468
24551
  this.navigateToTeamMembers = async () => {
@@ -24659,41 +24742,15 @@ class TeamMembers {
24659
24742
  }
24660
24743
  }
24661
24744
 
24662
- const LOGIN_SELECTORS = {
24663
- appleAuthenticationButton: "apple-authentication-button",
24664
- emailTextField: "login-email-text-field",
24665
- googleAuthenticationButton: "google-authentication-button",
24666
- githubAuthenticationButton: "github-authentication-button",
24667
- loginViaEmailButton: "login-via-email-button",
24668
- passwordTextField: "login-password-text-field",
24669
- rememberMeCheckBox: "login-remember-me-check-box",
24670
- submitButton: "login-submit-button",
24671
- twitterAuthenticationButton: "twitter-authentication-button",
24672
- };
24673
-
24674
- const SIGNUP_SELECTORS = {
24675
- emailTextField: "signup-email-text-field",
24676
- firstNameTextField: "signup-profile-first-name-text-field",
24677
- lastNameTextField: "signup-profile-last-name-text-field",
24678
- organizationNameTextField: "signup-organization-name-text-field",
24679
- organizationSubmitButton: "signup-organization-submit-button",
24680
- otpTextBox: "otpinput-otp-number",
24681
- profileSubmitButton: "signup-profile-submit-button",
24682
- signupViaEmailButton: "signup-via-email-button",
24683
- submitButton: "signup-email-submit-button",
24684
- subdomainNameTextField: "signup-organization-subdomain-text-field",
24685
- subdomainError: "subdomain-input-error",
24686
- tryFreeButton: "neeto-auth-signup-link",
24687
- unregisterdEmailError: "unregisterd-email-error",
24688
- };
24689
-
24690
24745
  const loginWithoutSSO = async ({ page, neetoPlaywrightUtilities, loginPath = "/", }) => {
24691
24746
  if (shouldSkipSetupAndTeardown())
24692
24747
  return;
24693
- await page.goto(loginPath);
24694
- await page.getByTestId("login-email-text-field").fill(CREDENTIALS.email);
24748
+ await page.goto(loginPath, { timeout: 20000 });
24749
+ await page
24750
+ .getByTestId(LOGIN_SELECTORS.emailTextField)
24751
+ .fill(CREDENTIALS.email);
24695
24752
  await page
24696
- .getByTestId("login-password-text-field")
24753
+ .getByTestId(LOGIN_SELECTORS.passwordTextField)
24697
24754
  .fill(CREDENTIALS.password);
24698
24755
  const login = neetoPlaywrightUtilities.interceptMultipleResponses({
24699
24756
  times: 1,
@@ -24731,8 +24788,8 @@ class OrganizationPage {
24731
24788
  const appNameInLowerCase = appName.toLowerCase();
24732
24789
  const isNeetoAuth = appNameInLowerCase === "neetoauth";
24733
24790
  isNeetoAuth
24734
- ? await this.page.goto(ROUTES.neetoAuthSignup)
24735
- : await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${appNameInLowerCase}.net`);
24791
+ ? await this.page.goto(ROUTES.neetoAuthSignup, { timeout: 20000 })
24792
+ : await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${appNameInLowerCase}.net`, { timeout: 20000 });
24736
24793
  await this.page.getByTestId(SIGNUP_SELECTORS.emailTextField).fill(email);
24737
24794
  const signup = this.neetoPlaywrightUtilities.interceptMultipleResponses({
24738
24795
  responseUrl: ROUTES.signup,
@@ -24852,7 +24909,7 @@ class OrganizationPage {
24852
24909
  await expect(this.page.getByTestId(COMMON_SELECTORS.pageLoader)).toBeHidden({ timeout: 15000 });
24853
24910
  };
24854
24911
  this.loginAndOnboard = async ({ email, firstName, lastName, country, handleOnboarding, baseURL = process.env.BASE_URL, }) => {
24855
- await this.page.goto(`${baseURL}/${ROUTES.admin}`);
24912
+ await this.page.goto(`${baseURL}/${ROUTES.admin}`, { timeout: 20000 });
24856
24913
  await this.loginViaSSO(email);
24857
24914
  await this.setupProfile({ firstName, lastName, country });
24858
24915
  await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
@@ -24862,7 +24919,7 @@ class OrganizationPage {
24862
24919
  };
24863
24920
  this.signUp = async ({ credentials, fetchOtpFromEmail, appName, }) => {
24864
24921
  let otp = "123456";
24865
- await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`);
24922
+ await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`, { timeout: 20000 });
24866
24923
  await this.page
24867
24924
  .getByTestId(SIGNUP_SELECTORS.emailTextField)
24868
24925
  .fill(credentials.email);
@@ -24945,36 +25002,6 @@ class SidebarSection {
24945
25002
  }
24946
25003
  }
24947
25004
 
24948
- const TAGS_SELECTORS = {
24949
- newTagButton: "add-new-tag-button",
24950
- tagNameTextField: "tag-name-text-field",
24951
- editButton: "tags-edit-button",
24952
- deleteButton: "tags-delete-button",
24953
- cancelButton: "neeto-tags-manage-tag-cancel-button",
24954
- submitButton: "neeto-tags-manage-tag-submit-button",
24955
- searchTextField: "neeto-tags-search-text-input-field",
24956
- descriptionTextArea: "tag-description-text-area",
24957
- addTagButton: "neeto-tags-add-tag-button",
24958
- tagSearchField: "select-tag-container",
24959
- deleteTagButton: "tag-close-icon",
24960
- metaDataCard: "metadata-card",
24961
- metaDataBlock: "metadata-block",
24962
- tagContainer: "tag-container",
24963
- };
24964
- const MERGE_TAGS_SELECTORS = {
24965
- mergeTagsButton: "neeto-tags-merge-tags-button",
24966
- mergeButton: "neeto-tags-merge-button",
24967
- sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
24968
- sourceTagsList: "neeto-tags-merge-source-tags-list",
24969
- destinationTagsList: "neeto-tags-merge-destination-tags-list",
24970
- destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
24971
- cancelButton: "neeto-tags-merge-cancel-button",
24972
- proceedButton: "neeto-tags-merge-proceed-button",
24973
- disabledTag: ".neeto-ui-cursor-not-allowed",
24974
- sourceTagRow: "neeto-tags-merge-source-tags",
24975
- destinationTagRow: "neeto-tags-merge-destination-tags",
24976
- };
24977
-
24978
25005
  class TagsApi {
24979
25006
  constructor(neetoPlaywrightUtilities) {
24980
25007
  this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
@@ -25120,26 +25147,6 @@ const networkConditions = {
25120
25147
  },
25121
25148
  };
25122
25149
 
25123
- const ROLES_SELECTORS = {
25124
- newButton: "ntm-add-role-button",
25125
- proceedButton: "ntm-add-role-submit-button",
25126
- cancelButton: "ntm-add-role-cancel-button",
25127
- tableHeaderRoleName: "ntm-roles-table-role-header",
25128
- nameTextField: "ntm-add-role-name-text-field",
25129
- searchTextField: "ntm-search-roles-input",
25130
- updateRolePaneHeading: "ntm-add-role-title",
25131
- updateRoleCancelButton: "ntm-add-role-cancel-button",
25132
- descriptionTextField: "ntm-add-role-description-text-field",
25133
- permissionCategoryTitle: "ntm-roles-permission-category-title",
25134
- headerColumn: "ntm-roles-table-header",
25135
- dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
25136
- tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
25137
- permissionCheckbox: "ntm-roles-permission-checkbox",
25138
- editRoleButton: "ntm-roles-table-edit-role-button",
25139
- deleteRoleButton: "ntm-roles-table-delete-role-button",
25140
- permissionCard: "ntm-roles-permission-card",
25141
- };
25142
-
25143
25150
  const initializeCredentials = (product) => {
25144
25151
  var _a;
25145
25152
  if (process.env.SKIP_SETUP === "true" && getGlobalUserState()) {
@@ -25167,24 +25174,39 @@ const initializeCredentials = (product) => {
25167
25174
  }
25168
25175
  };
25169
25176
 
25170
- const addMemberViaRequest = ({ email, role = MEMBER_TEXTS.agent, appName, neetoPlaywrightUtilities, }) => expect
25171
- .poll(async () => {
25172
- const response = await neetoPlaywrightUtilities.apiRequest({
25173
- method: "post",
25174
- url: API_ROUTES.teamMembers.index,
25175
- body: {
25176
- user: {
25177
- emails: [email],
25178
- organization_role: role,
25179
- app_roles: [
25180
- { app_name: appName, active_role: role, is_enabled: true },
25181
- ],
25177
+ const addMemberViaRequest = async ({ email, role = MEMBER_TEXTS.agent, appName, neetoPlaywrightUtilities, }) => {
25178
+ let response;
25179
+ await expect
25180
+ .poll(async () => {
25181
+ response = await neetoPlaywrightUtilities.apiRequest({
25182
+ method: "post",
25183
+ url: API_ROUTES.teamMembers.index,
25184
+ body: {
25185
+ user: {
25186
+ emails: [email],
25187
+ organization_role: role,
25188
+ app_roles: [
25189
+ { app_name: appName, active_role: role, is_enabled: true },
25190
+ ],
25191
+ },
25182
25192
  },
25183
- },
25184
- });
25185
- return response === null || response === void 0 ? void 0 : response.status();
25186
- }, { timeout: 30000 })
25187
- .toBe(200);
25193
+ });
25194
+ return response === null || response === void 0 ? void 0 : response.status();
25195
+ }, { timeout: 30000 })
25196
+ .toBe(200);
25197
+ const responseBodyBuffer = await (response === null || response === void 0 ? void 0 : response.body());
25198
+ const { job_id: jobId } = JSON.parse(String(responseBodyBuffer));
25199
+ await expect
25200
+ .poll(async () => {
25201
+ const jobResponse = await neetoPlaywrightUtilities.apiRequest({
25202
+ url: API_ROUTES.teamMembers.creationStatus(jobId),
25203
+ });
25204
+ const responseBodyBuffer = await (jobResponse === null || jobResponse === void 0 ? void 0 : jobResponse.body());
25205
+ const { is_completed: isCompleted } = JSON.parse(String(responseBodyBuffer));
25206
+ return isCompleted;
25207
+ }, { timeout: 30000 })
25208
+ .toBe(true);
25209
+ };
25188
25210
  const editMemberViaRequest = async ({ email, firstName, lastName, newRole, neetoPlaywrightUtilities, }) => {
25189
25211
  const response = await neetoPlaywrightUtilities.apiRequest({
25190
25212
  method: "get",
@@ -157273,5 +157295,5 @@ const definePlaywrightConfig = (overrides) => {
157273
157295
  });
157274
157296
  };
157275
157297
 
157276
- export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, ENGAGE_TEXTS, ENVIRONMENT, EXPANDED_FONT_SIZE, EditorPage, EmbedBase, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_TEXTS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailerUtils, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_TEXT_MODIFIER_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PLURAL, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SELECT_COUNTRY, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAB_SELECTORS, TAGS_SELECTORS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, TagsPage, TeamMembers, ThankYouPage, USER_AGENTS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, getImagePathAndName, getListCount, headerUtils, hexToRGB, hyphenize, i18nFixture, initializeCredentials, initializeTotp, joinHyphenCase, joinString, login, loginWithoutSSO, memberUtils, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, shouldSkipSetupAndTeardown, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
157298
+ export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, DESCRIPTION_EDITOR_TEXTS, EMBED_SELECTORS, EMOJI_LABEL, ENGAGE_TEXTS, ENVIRONMENT, EXPANDED_FONT_SIZE, EditorPage, EmbedBase, FONT_SIZE_SELECTORS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GooglePage, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, ImageUploader, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailerUtils, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_TEXT_MODIFIER_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PLURAL, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SELECT_COUNTRY, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAB_SELECTORS, TAGS_SELECTORS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, TagsPage, TeamMembers, ThankYouPage, USER_AGENTS, WEBHOOK_SELECTORS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, currencyUtils, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, getImagePathAndName, getListCount, headerUtils, hexToRGB, hyphenize, i18nFixture, initializeCredentials, initializeTotp, joinHyphenCase, joinString, login, loginWithoutSSO, memberUtils, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, shouldSkipSetupAndTeardown, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
157277
157299
  //# sourceMappingURL=index.js.map