@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.cjs.js CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  var fs$d = require('fs');
4
4
  var Path = require('path');
5
- var child_process = require('child_process');
6
5
  var test$1 = require('@playwright/test');
6
+ var child_process = require('child_process');
7
7
  var ramda = require('ramda');
8
8
  var require$$0$1 = require('util');
9
9
  var faker = require('@faker-js/faker');
@@ -81,6 +81,7 @@ const API_ROUTES = {
81
81
  bulkUpdate: "/team_members/teams/bulk_update",
82
82
  index: "/team_members/teams",
83
83
  show: (id) => `/team_members/teams/${id}`,
84
+ creationStatus: (id) => `/team_members/teams/creation_status/${id}`,
84
85
  },
85
86
  integrations: {
86
87
  zapier: {
@@ -234,54 +235,6 @@ const getListCount = async ({ page, countSelector, }) => {
234
235
  return Number(countText === null || countText === void 0 ? void 0 : countText.trim().split(" ")[0]);
235
236
  };
236
237
 
237
- const NEETO_FILTERS_SELECTORS = {
238
- emailSelectContainer: "email-select-container-wrapper",
239
- filterPaneHeading: "neeto-filters-pane-header",
240
- neetoFiltersEmailBlock: "neeto-filters-email-block",
241
- neetoFiltersRoleBlock: "neeto-filters-role-block",
242
- neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
243
- neetoFiltersNameFilterField: "neeto-filters-name-filter",
244
- neetoFilterNameBlock: "neeto-filters-name-block",
245
- roleSelectContainer: "role-select-container-wrapper",
246
- filterButton: "neeto-filters-toggle-btn",
247
- filtersClearButton: "neeto-filters-clear-btn",
248
- filterDoneButton: "neeto-filters-done-btn",
249
- filteredMembersCount: "ntm-filtered-members-count",
250
- allMenubarBlock: "ntm-members-menubar-all-block",
251
- filtersEmailFilter: "neeto-filters-email-filter",
252
- paneModalCrossIcon: "neeto-filters-close-button",
253
- searchTermBlock: "neeto-filters-search-term-block",
254
- neetoFiltersFilter: (filterName) => `neeto-filters-${hyphenize(filterName)}-filter`,
255
- };
256
-
257
- const NEETO_IMAGE_UPLOADER_SELECTORS = {
258
- imageUploaderWrapper: "image-uploader-wrapper",
259
- browseText: "neeto-image-uploader-browse-text",
260
- fileInput: "neeto-image-uploader-file-input",
261
- uploadedImage: "uploaded-image",
262
- uploadNewAsset: "upload-new-asset",
263
- basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
264
- removeButton: "image-uploader-remove-button",
265
- openImageLibraryButton: "image-uploader-open-image-library-button",
266
- openAssetLibraryButton: "open-asset-library-button",
267
- imageEditorBackButton: "image-editor-back-button",
268
- aspectRatioWidthInput: "aspect-ratio-width-input",
269
- aspectRatioHeightInput: "aspect-ratio-height-input",
270
- cropSubmitButton: "neeto-image-uploader-crop-submit-button",
271
- restrictionMessage: "neeto-image-uploader-restriction-message",
272
- progressBar: "neeto-image-uploader-progress-bar",
273
- myImagesTab: "neeto-image-uploader-my-images-tab",
274
- unsplashTab: "neeto-image-uploader-unsplash-tab",
275
- nthLibraryImage: (index) => `niu-library-image-${index}`,
276
- nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
277
- unsplashSearchInput: "niu-unsplash-image-picker-search-input",
278
- imageEditorUploadedImage: "image-editor-uploaded-image",
279
- selectOriginalImageSwitch: "select-original-image-switch",
280
- lockAspectRatioSwitch: "lock-aspect-ratio-switch",
281
- widthInputField: "width-input-field",
282
- heightInputField: "height-input-field",
283
- };
284
-
285
238
  const COMMON_SELECTORS = {
286
239
  emailInputError: "email-input-error",
287
240
  pane: "pane-wrapper",
@@ -374,6 +327,429 @@ const COMMON_SELECTORS = {
374
327
  customDropDownMenu: (label = "nui") => `${hyphenize(label)}-select-menu`,
375
328
  };
376
329
 
330
+ const THANK_YOU_SELECTORS = {
331
+ settingsLink: "thank-you-settings-link",
332
+ showSocialShareIconsSwitch: "show-social-share-icons-switch",
333
+ showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
334
+ submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
335
+ previewEditorContent: "preview-editor-content",
336
+ redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
337
+ thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
338
+ saveChangesButton: "neeto-thank-you-configuration-save-button",
339
+ cancelButton: "neeto-thank-you-configuration-cancel-button",
340
+ thankYouPageImage: "thank-you-page-image",
341
+ thankYouPageMessage: "thank-you-page-message",
342
+ thankYouPageContent: "thank-you-page-content",
343
+ thankYouPageResubmitLink: "thank-you-page-resubmit-link",
344
+ linkInputField: "link-input-field",
345
+ previewImage: "preview-image",
346
+ };
347
+
348
+ const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
349
+ const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
350
+
351
+ const NEETO_EDITOR_SELECTORS = {
352
+ fontSize: optionSelector("font-size"),
353
+ boldOption: optionSelector("bold"),
354
+ italicOption: optionSelector("italic"),
355
+ underlineOption: optionSelector("underline"),
356
+ strikeOption: optionSelector("strike"),
357
+ codeBlockOption: optionSelector("code"),
358
+ highlightOption: optionSelector("highlight"),
359
+ emojiOption: optionSelector("emoji"),
360
+ emojiDropdownIcon: "emoji-dropdown-icon",
361
+ linkInput: fixedMenuSelector("link-option-input"),
362
+ linkSubmitButton: fixedMenuSelector("link-option-link-button"),
363
+ commandList: (index) => `neeto-editor-command-list-item-${index}`,
364
+ imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
365
+ imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
366
+ uploadInput: "neeto-editor-media-uploader-input",
367
+ editorMenuBarWrapper: fixedMenuSelector("wrapper"),
368
+ undoOption: optionSelector("undo"),
369
+ redoOption: optionSelector("redo"),
370
+ imageWrapper: "neeto-editor-image-wrapper",
371
+ contentField: "neeto-editor-content",
372
+ addLinkButton: optionSelector("link"),
373
+ addLinkTextField: "neeto-editor-add-link-text-input",
374
+ addURLTextField: "neeto-editor-add-link-url-input",
375
+ submitLinkButton: "neeto-editor-add-link",
376
+ fixedMenuArrow: fixedMenuSelector("arrow"),
377
+ cannedResponseOption: optionSelector("canned-responses"),
378
+ cannedResponseSelectContainer: "select-a-canned-response-select-container",
379
+ fixedMenuWrapper: fixedMenuSelector("wrapper"),
380
+ linkOption: optionSelector("link"),
381
+ addLinkUrlInput: "neeto-editor-add-link-url-input",
382
+ addLinkDoneButton: "neeto-editor-add-link",
383
+ unlinkButton: "neeto-editor-link-popover-unlink",
384
+ editorAttachmentsButton: optionSelector("attachments"),
385
+ attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
386
+ imageUploadOption: optionSelector("image-upload"),
387
+ imageUploadLinkInput: "neeto-editor-media-upload-url-input",
388
+ imageUploadButton: "neeto-editor-media-uploader-dnd",
389
+ imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
390
+ applyButton: "apply-button",
391
+ videoEmbedOption: optionSelector("video-embed"),
392
+ videoEmbedInput: "neeto-editor-embed-input",
393
+ videoEmbedSubmit: "neeto-editor-embed-cancel",
394
+ videoWrapper: "neeto-editor-video-wrapper",
395
+ paragraphOption: fixedMenuSelector("font-size-option-body2"),
396
+ attachmentPreview: "ne-attachments-wrapper",
397
+ imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
398
+ errorText: "neeto-editor-error-text",
399
+ content: "editor-content",
400
+ imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
401
+ dynamicVariablesButton: "dynamic-variables-button",
402
+ emojiContainer: "neeto-editor-emoji-picker",
403
+ dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${variable}`,
404
+ };
405
+ const NEETO_TEXT_MODIFIER_SELECTORS = {
406
+ strike: optionSelector("strike"),
407
+ underline: optionSelector("underline"),
408
+ highlight: optionSelector("highlight"),
409
+ };
410
+ const TEXT_MODIFIER_SELECTORS = {
411
+ bold: optionSelector("bold"),
412
+ italic: optionSelector("italic"),
413
+ code: optionSelector("code"),
414
+ blockquote: optionSelector("blockquote"),
415
+ codeBlock: optionSelector("codeBlock"),
416
+ };
417
+ const LIST_MODIFIER_SELECTORS = {
418
+ bulletList: optionSelector("bulletList"),
419
+ orderedList: optionSelector("orderedList"),
420
+ };
421
+ const FONT_SIZE_SELECTORS = {
422
+ h1: fixedMenuSelector("font-size-option-h1"),
423
+ h2: fixedMenuSelector("font-size-option-h2"),
424
+ h3: fixedMenuSelector("font-size-option-h3"),
425
+ h4: fixedMenuSelector("font-size-option-h4"),
426
+ h5: fixedMenuSelector("font-size-option-h5"),
427
+ };
428
+
429
+ const EMBED_SELECTORS = {
430
+ iframe: (appName) => `#${appName}-iframe`,
431
+ modal: (appName) => `#${appName}-modal`,
432
+ close: (appName) => `#close-${appName}`,
433
+ loader: (appName) => `#${appName}-loader`,
434
+ inlineHeightInput: "inline-height-input-field",
435
+ inlineWidthInput: "inline-width-input-field",
436
+ inlineElementIdInput: "inline-element-id-input-field",
437
+ codeBlock: "code-block",
438
+ previewTab: "preview-tab",
439
+ htmlTab: "html-tab",
440
+ buttonTextInput: "button-text-input-field",
441
+ buttonPositionSelectContainer: "button-position-select-value-container",
442
+ buttonPositionSelectMenu: "button-position-select-menu",
443
+ buttonColorLabel: "button-color-label",
444
+ buttonTextColorLabel: "button-text-color-label",
445
+ colorPickerTarget: "color-picker-target",
446
+ colorpickerEditableInput: "colorpicker-editable-input",
447
+ showIconCheckbox: "show-icon-checkbox",
448
+ elementIdInput: "element-id-input-field",
449
+ previewElementPopupButton: "preview-element-popup-button",
450
+ };
451
+
452
+ const NEETO_FILTERS_SELECTORS = {
453
+ emailSelectContainer: "email-select-container-wrapper",
454
+ filterPaneHeading: "neeto-filters-pane-header",
455
+ neetoFiltersEmailBlock: "neeto-filters-email-block",
456
+ neetoFiltersRoleBlock: "neeto-filters-role-block",
457
+ neetoFiltersBarClearButton: "neeto-filters-bar-clear-btn",
458
+ neetoFiltersNameFilterField: "neeto-filters-name-filter",
459
+ neetoFilterNameBlock: "neeto-filters-name-block",
460
+ roleSelectContainer: "role-select-container-wrapper",
461
+ filterButton: "neeto-filters-toggle-btn",
462
+ filtersClearButton: "neeto-filters-clear-btn",
463
+ filterDoneButton: "neeto-filters-done-btn",
464
+ filteredMembersCount: "ntm-filtered-members-count",
465
+ allMenubarBlock: "ntm-members-menubar-all-block",
466
+ filtersEmailFilter: "neeto-filters-email-filter",
467
+ paneModalCrossIcon: "neeto-filters-close-button",
468
+ searchTermBlock: "neeto-filters-search-term-block",
469
+ neetoFiltersFilter: (filterName) => `neeto-filters-${hyphenize(filterName)}-filter`,
470
+ };
471
+
472
+ const HELP_CENTER_SELECTORS = {
473
+ helpButton: "help-button",
474
+ documentationButton: "help-link-help-center-button",
475
+ keyboardShortcutButton: "help-link-keyboard-shortcut-button",
476
+ chatButton: "help-link-live-chat-button",
477
+ whatsNewButton: "help-link-engage-button",
478
+ whatsNewWidgetInfo: "h1",
479
+ whatsNewWidgetCloseButton: ".ne-widget-header__btn",
480
+ keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
481
+ keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
482
+ };
483
+
484
+ const NEETO_IMAGE_UPLOADER_SELECTORS = {
485
+ imageUploaderWrapper: "image-uploader-wrapper",
486
+ browseText: "neeto-image-uploader-browse-text",
487
+ fileInput: "neeto-image-uploader-file-input",
488
+ uploadedImage: "uploaded-image",
489
+ uploadNewAsset: "upload-new-asset",
490
+ basicImageUploaderRemoveButton: "basic-image-uploader-remove-button",
491
+ removeButton: "image-uploader-remove-button",
492
+ openImageLibraryButton: "image-uploader-open-image-library-button",
493
+ openAssetLibraryButton: "open-asset-library-button",
494
+ imageEditorBackButton: "image-editor-back-button",
495
+ aspectRatioWidthInput: "aspect-ratio-width-input",
496
+ aspectRatioHeightInput: "aspect-ratio-height-input",
497
+ cropSubmitButton: "neeto-image-uploader-crop-submit-button",
498
+ restrictionMessage: "neeto-image-uploader-restriction-message",
499
+ progressBar: "neeto-image-uploader-progress-bar",
500
+ myImagesTab: "neeto-image-uploader-my-images-tab",
501
+ unsplashTab: "neeto-image-uploader-unsplash-tab",
502
+ nthLibraryImage: (index) => `niu-library-image-${index}`,
503
+ nthUnsplashImage: (index) => `niu-unsplash-image-${index}`,
504
+ unsplashSearchInput: "niu-unsplash-image-picker-search-input",
505
+ imageEditorUploadedImage: "image-editor-uploaded-image",
506
+ selectOriginalImageSwitch: "select-original-image-switch",
507
+ lockAspectRatioSwitch: "lock-aspect-ratio-switch",
508
+ widthInputField: "width-input-field",
509
+ heightInputField: "height-input-field",
510
+ };
511
+
512
+ const LOGIN_SELECTORS = {
513
+ appleAuthenticationButton: "apple-authentication-button",
514
+ emailTextField: "login-email-text-field",
515
+ googleAuthenticationButton: "google-authentication-button",
516
+ githubAuthenticationButton: "github-authentication-button",
517
+ loginViaEmailButton: "login-via-email-button",
518
+ passwordTextField: "login-password-text-field",
519
+ rememberMeCheckBox: "login-remember-me-check-box",
520
+ submitButton: "login-submit-button",
521
+ twitterAuthenticationButton: "twitter-authentication-button",
522
+ };
523
+
524
+ const MEMBER_SELECTORS = {
525
+ membersTab: "members-nav-tab",
526
+ newButton: "ntm-add-member-button",
527
+ continueButton: "ntm-manage-member-continue-button",
528
+ submitButton: "ntm-manage-member-submit-button",
529
+ searchTextField: "ntm-search-members-input",
530
+ deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
531
+ activatedMembersButton: "ntm-members-menubar-active-block",
532
+ columnCheckBox: "neeto-ui-columns-checkbox",
533
+ roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
534
+ teamMembersTable: "ntm-members-table",
535
+ dropDownIcon: "ntm-members-table-row-dropdown-button",
536
+ editButton: "ntm-edit-member-button",
537
+ menuBarHeading: "ntm-members-menubar-heading",
538
+ removeMember: "ntm-deactivate-member-button",
539
+ columnsButton: "columns-dropdown-button",
540
+ columnsDropdownContainer: "columns-dropdown-container",
541
+ emailDropdownItemLabel: "email-checkbox-label",
542
+ roleDropdownItemLabel: "role-checkbox-label",
543
+ inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
544
+ heading: "ntm-manage-members-pane-header",
545
+ activateButton: "ntm-activate-members-button",
546
+ deactivateButton: "ntm-deactivate-members-button",
547
+ rolesButton: "ntm-manage-member-roles-button",
548
+ statusTag: "ntm-member-status-tag",
549
+ menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
550
+ takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
551
+ checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
552
+ };
553
+ const MEMBER_FORM_SELECTORS = {
554
+ emailTextField: "email-select-input-field",
555
+ firstNameTextField: "ntm-edit-member-first-name-text-field",
556
+ lastNameTextField: "ntm-edit-member-last-name-text-field",
557
+ emailInput: "ntm-manage-member-email-input",
558
+ emailErrorField: "emails-input-error",
559
+ cancelButton: "ntm-manage-member-cancel-button",
560
+ };
561
+
562
+ const PROFILE_SECTION_SELECTORS = {
563
+ profileSectionButton: "profile-section",
564
+ profilePopup: "profile-popup",
565
+ myProfileButton: "my-profile-button",
566
+ profileOrganizationSettingsButton: "profile-organization-settings-button",
567
+ logoutButton: "profile-logout-button",
568
+ neetoAuthLink: "ntm-visit-auth-button",
569
+ profileSidebarCancelButton: "ntm-profile-cancel-button",
570
+ profileAvatar: "profile-avatar",
571
+ actionHeaderUserEmail: "floating-action-menu-header-user-email",
572
+ };
573
+
574
+ const ROLES_SELECTORS = {
575
+ newButton: "ntm-add-role-button",
576
+ proceedButton: "ntm-add-role-submit-button",
577
+ cancelButton: "ntm-add-role-cancel-button",
578
+ tableHeaderRoleName: "ntm-roles-table-role-header",
579
+ nameTextField: "ntm-add-role-name-text-field",
580
+ searchTextField: "ntm-search-roles-input",
581
+ updateRolePaneHeading: "ntm-add-role-title",
582
+ updateRoleCancelButton: "ntm-add-role-cancel-button",
583
+ descriptionTextField: "ntm-add-role-description-text-field",
584
+ permissionCategoryTitle: "ntm-roles-permission-category-title",
585
+ headerColumn: "ntm-roles-table-header",
586
+ dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
587
+ tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
588
+ permissionCheckbox: "ntm-roles-permission-checkbox",
589
+ editRoleButton: "ntm-roles-table-edit-role-button",
590
+ deleteRoleButton: "ntm-roles-table-delete-role-button",
591
+ permissionCard: "ntm-roles-permission-card",
592
+ };
593
+
594
+ const SIGNUP_SELECTORS = {
595
+ emailTextField: "signup-email-text-field",
596
+ firstNameTextField: "signup-profile-first-name-text-field",
597
+ lastNameTextField: "signup-profile-last-name-text-field",
598
+ organizationNameTextField: "signup-organization-name-text-field",
599
+ organizationSubmitButton: "signup-organization-submit-button",
600
+ otpTextBox: "otpinput-otp-number",
601
+ profileSubmitButton: "signup-profile-submit-button",
602
+ signupViaEmailButton: "signup-via-email-button",
603
+ submitButton: "signup-email-submit-button",
604
+ subdomainNameTextField: "signup-organization-subdomain-text-field",
605
+ subdomainError: "subdomain-input-error",
606
+ tryFreeButton: "neeto-auth-signup-link",
607
+ unregisterdEmailError: "unregisterd-email-error",
608
+ };
609
+
610
+ const TAB_SELECTORS = {
611
+ configureTab: "configure-tab",
612
+ buildTab: "build-tab",
613
+ themeTab: "theme-tab",
614
+ shareTab: "share-tab",
615
+ submissionsTab: "submissions-tab",
616
+ paymentsTab: "payments-tab",
617
+ };
618
+
619
+ const TAGS_SELECTORS = {
620
+ newTagButton: "add-new-tag-button",
621
+ tagNameTextField: "tag-name-text-field",
622
+ editButton: "tags-edit-button",
623
+ deleteButton: "tags-delete-button",
624
+ cancelButton: "neeto-tags-manage-tag-cancel-button",
625
+ submitButton: "neeto-tags-manage-tag-submit-button",
626
+ searchTextField: "neeto-tags-search-text-input-field",
627
+ descriptionTextArea: "tag-description-text-area",
628
+ addTagButton: "neeto-tags-add-tag-button",
629
+ tagSearchField: "select-tag-container",
630
+ deleteTagButton: "tag-close-icon",
631
+ metaDataCard: "metadata-card",
632
+ metaDataBlock: "metadata-block",
633
+ tagContainer: "tag-container",
634
+ };
635
+ const MERGE_TAGS_SELECTORS = {
636
+ mergeTagsButton: "neeto-tags-merge-tags-button",
637
+ mergeButton: "neeto-tags-merge-button",
638
+ sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
639
+ sourceTagsList: "neeto-tags-merge-source-tags-list",
640
+ destinationTagsList: "neeto-tags-merge-destination-tags-list",
641
+ destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
642
+ cancelButton: "neeto-tags-merge-cancel-button",
643
+ proceedButton: "neeto-tags-merge-proceed-button",
644
+ disabledTag: ".neeto-ui-cursor-not-allowed",
645
+ sourceTagRow: "neeto-tags-merge-source-tags",
646
+ destinationTagRow: "neeto-tags-merge-destination-tags",
647
+ };
648
+
649
+ const CHAT_WIDGET_SELECTORS = {
650
+ iframe: "#neetochat-iframe",
651
+ spinner: ".neeto-chat-widget-spinner",
652
+ helpButton: "help-button",
653
+ preChatEmailInput: "neeto-chat-widget-input",
654
+ preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
655
+ chatBubble: "neeto-chat-widget-chat-message-bubble",
656
+ closeChat: "neeto-chat-widget-close-btn",
657
+ chatQuestionHeader: "chat-question-header",
658
+ };
659
+ const CHANGELOG_WIDGET_SELECTORS = {
660
+ changelogWrapper: ".ne-widget__wrapper",
661
+ closeButton: "ne-widget-close-btn",
662
+ publicUrlLink: "ne-widget-public-url",
663
+ };
664
+ const KEYBOARD_SHORTCUTS_SELECTORS = {
665
+ keyboardShortcutsPane: "keyboard-shortcuts-pane",
666
+ closePaneButton: "keyboard-shortcuts-pane-close-button",
667
+ hotKeyItem: "hotkey-item",
668
+ };
669
+
670
+ const INTEGRATION_SELECTORS = {
671
+ integrationCard: (integration) => `${integration}-integration-card`,
672
+ connectButton: "connect-button",
673
+ integrationStatusTag: "integration-status-tag",
674
+ disconnectButton: "disconnect-button",
675
+ manageButton: "manage-button",
676
+ };
677
+
678
+ const GOOGLE_LOGIN_SELECTORS = {
679
+ totpNext: "#totpNext",
680
+ form: "form",
681
+ totpChallengeSelector: '[data-challengeid="2"]',
682
+ signOutFrameLocator: 'iframe[name="account"]',
683
+ };
684
+
685
+ const dataQa = (value) => `[data-qa='${value}']`;
686
+ const SLACK_SELECTORS = {
687
+ messageContainer: dataQa("message_container"),
688
+ loginEmail: dataQa("login_email"),
689
+ loginPassword: dataQa("login_password"),
690
+ signInButton: dataQa("signin_button"),
691
+ teamPicketButtonContent: dataQa("team-picker-button-content"),
692
+ redirectOpenInBrowser: dataQa("ssb_redirect_open_in_browser"),
693
+ workspaceActionsButton: dataQa("workspace_actions_button"),
694
+ teamMenuTrigger: dataQa("team-menu-trigger"),
695
+ menuItemButton: "menu_item_button",
696
+ threadsFlexpane: "threads_flexpane",
697
+ replyBar: "reply_bar",
698
+ markdownElement: "bk_markdown_element",
699
+ virtualListItem: "virtual-list-item",
700
+ channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
701
+ };
702
+ const SLACK_DATA_QA_SELECTORS = {
703
+ sectionHeadingButton: "section_heading_button__channels",
704
+ coachMarkCloseButton: "coachmark-close-button",
705
+ messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
706
+ permissionBannerCloseIcon: "banner_close_btn",
707
+ channelSectionSubmenuCreate: "channel_section_submenu_create",
708
+ channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
709
+ skModalContent: "sk-modal-content",
710
+ infiniteSpinner: "infinite-spinner",
711
+ channelNameOptionsList: "channel-name-options-list",
712
+ channelNameInput: "channel-name-input",
713
+ createChannelNextButton: "create-channel-next-button",
714
+ inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
715
+ menuItems: "menu_items",
716
+ channelDetailsModal: "channel_details_modal",
717
+ channelDetailsSettingsTab: "channel_details_settings_tab",
718
+ };
719
+
720
+ const WEBHOOK_SELECTORS = {
721
+ addNewWebhook: "add-new-webhook-button",
722
+ endpointInputField: "endpoint-input-field",
723
+ deliveryResponseCode: "delivery-response-code",
724
+ deliveryRequestPayload: "delivery-request-payload",
725
+ addSecretKey: "add-secret-key",
726
+ newWebhookHeader: "add-new-webhook-pane-header",
727
+ endpointInputError: "endpoint-input-error",
728
+ eventsSelectError: "events-select-error",
729
+ regenerateSecret: "regenerate-secret",
730
+ deleteSecret: "delete-secret",
731
+ };
732
+
733
+ const ZAPIER_SELECTORS = {
734
+ zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
735
+ zapAccountSubstep: "[data-testid='substep-Account']",
736
+ zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
737
+ modal: "[data-testid='Modal']",
738
+ fmPrettytext: ".fm-prettytext",
739
+ spinner: "[data-testid='spinner']",
740
+ skeletonBlock: "[data-testid='SkeletonBlock']",
741
+ accountsLoader: "[data-testid='accounts-loader']",
742
+ floatingBox: "[data-testid='floating-box']",
743
+ connection: "[data-testid='Connection']",
744
+ deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
745
+ deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
746
+ usageAmounts: "css=[class$=UsageBar__amounts]",
747
+ universalSidebar: "[data-testid='universalSidebar']",
748
+ sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
749
+ contextualSideBar: "[data-testid='contextual-sidebar']",
750
+ iconContainer: "[data-testid='iconContainer']",
751
+ };
752
+
377
753
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
378
754
 
379
755
  function getDefaultExportFromCjs (x) {
@@ -11812,7 +12188,7 @@ const commands = {
11812
12188
  }
11813
12189
  },
11814
12190
  page: async ({ page }, use) => {
11815
- await page.goto("/");
12191
+ await page.goto("/", { timeout: 20000 });
11816
12192
  await page.waitForLoadState();
11817
12193
  await use(page);
11818
12194
  },
@@ -20785,114 +21161,6 @@ const i18nFixture = {
20785
21161
  ],
20786
21162
  };
20787
21163
 
20788
- const THANK_YOU_SELECTORS = {
20789
- settingsLink: "thank-you-settings-link",
20790
- showSocialShareIconsSwitch: "show-social-share-icons-switch",
20791
- showLinkToSubmitAnotherResponseSwitch: "show-link-to-submit-another-response-switch",
20792
- submitAnotherResponseLinkTextInputField: "submit-another-response-link-text-input-field",
20793
- previewEditorContent: "preview-editor-content",
20794
- redirectToExternalLinkRadioLabel: () => "neeto-thank-you-configuration-redirect-to-url-label",
20795
- thankYouConfigurationLabel: (label = "custom-message") => `neeto-thank-you-configuration-${label}-label`,
20796
- saveChangesButton: "neeto-thank-you-configuration-save-button",
20797
- cancelButton: "neeto-thank-you-configuration-cancel-button",
20798
- thankYouPageImage: "thank-you-page-image",
20799
- thankYouPageMessage: "thank-you-page-message",
20800
- thankYouPageContent: "thank-you-page-content",
20801
- thankYouPageResubmitLink: "thank-you-page-resubmit-link",
20802
- linkInputField: "link-input-field",
20803
- previewImage: "preview-image",
20804
- };
20805
-
20806
- const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
20807
- const fixedMenuSelector = (selector) => `neeto-editor-fixed-menu-${selector}`;
20808
-
20809
- const NEETO_EDITOR_SELECTORS = {
20810
- fontSize: optionSelector("font-size"),
20811
- boldOption: optionSelector("bold"),
20812
- italicOption: optionSelector("italic"),
20813
- underlineOption: optionSelector("underline"),
20814
- strikeOption: optionSelector("strike"),
20815
- codeBlockOption: optionSelector("code"),
20816
- highlightOption: optionSelector("highlight"),
20817
- emojiOption: optionSelector("emoji"),
20818
- emojiDropdownIcon: "emoji-dropdown-icon",
20819
- linkInput: fixedMenuSelector("link-option-input"),
20820
- linkSubmitButton: fixedMenuSelector("link-option-link-button"),
20821
- commandList: (index) => `neeto-editor-command-list-item-${index}`,
20822
- imageUploadUrlSubmitButton: "neeto-editor-media-upload-url-submit",
20823
- imageUploadUrlInputTextField: "neeto-editor-media-upload-url-input",
20824
- uploadInput: "neeto-editor-media-uploader-input",
20825
- editorMenuBarWrapper: fixedMenuSelector("wrapper"),
20826
- undoOption: optionSelector("undo"),
20827
- redoOption: optionSelector("redo"),
20828
- imageWrapper: "neeto-editor-image-wrapper",
20829
- contentField: "neeto-editor-content",
20830
- addLinkButton: optionSelector("link"),
20831
- addLinkTextField: "neeto-editor-add-link-text-input",
20832
- addURLTextField: "neeto-editor-add-link-url-input",
20833
- submitLinkButton: "neeto-editor-add-link",
20834
- fixedMenuArrow: fixedMenuSelector("arrow"),
20835
- cannedResponseOption: optionSelector("canned-responses"),
20836
- cannedResponseSelectContainer: "select-a-canned-response-select-container",
20837
- fixedMenuWrapper: fixedMenuSelector("wrapper"),
20838
- linkOption: optionSelector("link"),
20839
- addLinkUrlInput: "neeto-editor-add-link-url-input",
20840
- addLinkDoneButton: "neeto-editor-add-link",
20841
- unlinkButton: "neeto-editor-link-popover-unlink",
20842
- editorAttachmentsButton: optionSelector("attachments"),
20843
- attachmentPreviewDeleteButton: "neeto-editor-preview-delete-button",
20844
- imageUploadOption: optionSelector("image-upload"),
20845
- imageUploadLinkInput: "neeto-editor-media-upload-url-input",
20846
- imageUploadButton: "neeto-editor-media-uploader-dnd",
20847
- imageUploadLinkSubmitButton: "neeto-editor-media-upload-url-submit",
20848
- applyButton: "apply-button",
20849
- videoEmbedOption: optionSelector("video-embed"),
20850
- videoEmbedInput: "neeto-editor-embed-input",
20851
- videoEmbedSubmit: "neeto-editor-embed-cancel",
20852
- videoWrapper: "neeto-editor-video-wrapper",
20853
- paragraphOption: fixedMenuSelector("font-size-option-body2"),
20854
- attachmentPreview: "ne-attachments-wrapper",
20855
- imageUploadLinkButton: "neeto-editor-media-uploader-link-tab",
20856
- errorText: "neeto-editor-error-text",
20857
- content: "editor-content",
20858
- imageUploadDeleteButton: "neeto-editor-image-menu-Delete",
20859
- dynamicVariablesButton: "dynamic-variables-button",
20860
- emojiContainer: "neeto-editor-emoji-picker",
20861
- dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${variable}`,
20862
- };
20863
- const NEETO_TEXT_MODIFIER_SELECTORS = {
20864
- strike: optionSelector("strike"),
20865
- underline: optionSelector("underline"),
20866
- highlight: optionSelector("highlight"),
20867
- };
20868
- const TEXT_MODIFIER_SELECTORS = {
20869
- bold: optionSelector("bold"),
20870
- italic: optionSelector("italic"),
20871
- code: optionSelector("code"),
20872
- blockquote: optionSelector("blockquote"),
20873
- codeBlock: optionSelector("codeBlock"),
20874
- };
20875
- const LIST_MODIFIER_SELECTORS = {
20876
- bulletList: optionSelector("bulletList"),
20877
- orderedList: optionSelector("orderedList"),
20878
- };
20879
- const FONT_SIZE_SELECTORS = {
20880
- h1: fixedMenuSelector("font-size-option-h1"),
20881
- h2: fixedMenuSelector("font-size-option-h2"),
20882
- h3: fixedMenuSelector("font-size-option-h3"),
20883
- h4: fixedMenuSelector("font-size-option-h4"),
20884
- h5: fixedMenuSelector("font-size-option-h5"),
20885
- };
20886
-
20887
- const TAB_SELECTORS = {
20888
- configureTab: "configure-tab",
20889
- buildTab: "build-tab",
20890
- themeTab: "theme-tab",
20891
- shareTab: "share-tab",
20892
- submissionsTab: "submissions-tab",
20893
- paymentsTab: "payments-tab",
20894
- };
20895
-
20896
21164
  class ThankYouPage {
20897
21165
  constructor(page, neetoPlaywrightUtilities) {
20898
21166
  this.navigateToThankYouPage = async () => {
@@ -20952,29 +21220,6 @@ class ThankYouPage {
20952
21220
  }
20953
21221
  }
20954
21222
 
20955
- const EMBED_SELECTORS = {
20956
- iframe: (appName) => `#${appName}-iframe`,
20957
- modal: (appName) => `#${appName}-modal`,
20958
- close: (appName) => `#close-${appName}`,
20959
- loader: (appName) => `#${appName}-loader`,
20960
- inlineHeightInput: "inline-height-input-field",
20961
- inlineWidthInput: "inline-width-input-field",
20962
- inlineElementIdInput: "inline-element-id-input-field",
20963
- codeBlock: "code-block",
20964
- previewTab: "preview-tab",
20965
- htmlTab: "html-tab",
20966
- buttonTextInput: "button-text-input-field",
20967
- buttonPositionSelectContainer: "button-position-select-value-container",
20968
- buttonPositionSelectMenu: "button-position-select-menu",
20969
- buttonColorLabel: "button-color-label",
20970
- buttonTextColorLabel: "button-text-color-label",
20971
- colorPickerTarget: "color-picker-target",
20972
- colorpickerEditableInput: "colorpicker-editable-input",
20973
- showIconCheckbox: "show-icon-checkbox",
20974
- elementIdInput: "element-id-input-field",
20975
- previewElementPopupButton: "preview-element-popup-button",
20976
- };
20977
-
20978
21223
  class EmbedBase {
20979
21224
  constructor({ context, page, neetoPlaywrightUtilities, appName, }) {
20980
21225
  this.initializeEmbedPage = async ({ embedType, embedCode, customElementText = "Click here", }) => {
@@ -20985,7 +21230,9 @@ class EmbedBase {
20985
21230
  : embedCode);
20986
21231
  this.filePath = `tmp/${faker.faker.word.noun()}.html`;
20987
21232
  fs$d.writeFileSync(this.filePath, fileContent, "utf8");
20988
- await this.embedTestPage.goto(`file://${Path.resolve(this.filePath)}`);
21233
+ await this.embedTestPage.goto(`file://${Path.resolve(this.filePath)}`, {
21234
+ timeout: 20000,
21235
+ });
20989
21236
  await this.embedTestPage.waitForLoadState("load");
20990
21237
  this.embeddedFrame = this.embedTestPage.frameLocator(this.embedTestPageType === "inline"
20991
21238
  ? "iframe"
@@ -21231,52 +21478,6 @@ const GOOGLE_LOGIN_TEXTS = {
21231
21478
  };
21232
21479
  const ENGAGE_TEXTS = { subscribe: "Subscribe" };
21233
21480
 
21234
- const HELP_CENTER_SELECTORS = {
21235
- helpButton: "help-button",
21236
- documentationButton: "help-link-help-center-button",
21237
- keyboardShortcutButton: "help-link-keyboard-shortcut-button",
21238
- chatButton: "help-link-live-chat-button",
21239
- whatsNewButton: "help-link-engage-button",
21240
- whatsNewWidgetInfo: "h1",
21241
- whatsNewWidgetCloseButton: ".ne-widget-header__btn",
21242
- keyboardShortcutPaneHeading: "keyboard-shortcuts-pane-title",
21243
- keyboardShortcutPaneCrossIcon: "keyboard-shortcuts-pane-close-button",
21244
- };
21245
-
21246
- const PROFILE_SECTION_SELECTORS = {
21247
- profileSectionButton: "profile-section",
21248
- profilePopup: "profile-popup",
21249
- myProfileButton: "my-profile-button",
21250
- profileOrganizationSettingsButton: "profile-organization-settings-button",
21251
- logoutButton: "profile-logout-button",
21252
- neetoAuthLink: "ntm-visit-auth-button",
21253
- profileSidebarCancelButton: "ntm-profile-cancel-button",
21254
- profileAvatar: "profile-avatar",
21255
- actionHeaderUserEmail: "floating-action-menu-header-user-email",
21256
- };
21257
-
21258
- const CHAT_WIDGET_SELECTORS = {
21259
- iframe: "#neetochat-iframe",
21260
- spinner: ".neeto-chat-widget-spinner",
21261
- helpButton: "help-button",
21262
- preChatEmailInput: "neeto-chat-widget-input",
21263
- preChatSubmitButton: "neeto-chat-widget-pre-chat-submit-btn",
21264
- chatBubble: "neeto-chat-widget-chat-message-bubble",
21265
- closeChat: "neeto-chat-widget-close-btn",
21266
- chatQuestionHeader: "chat-question-header",
21267
- };
21268
- const CHANGELOG_WIDGET_SELECTORS = {
21269
- changelogWrapper: ".ne-widget__wrapper",
21270
- closeButton: "ne-widget-close-btn",
21271
- publicUrlLink: "ne-widget-public-url",
21272
- };
21273
- const KEYBOARD_SHORTCUTS_SELECTORS = {
21274
- keyboardShortcutsPane: "keyboard-shortcuts-pane",
21275
- closePaneButton: "keyboard-shortcuts-pane-close-button",
21276
- hotKeyItem: "hotkey-item",
21277
- };
21278
-
21279
- /* eslint-disable playwright/no-raw-locators */
21280
21481
  /* eslint-disable playwright/require-top-level-describe */
21281
21482
  /* eslint-disable playwright/no-standalone-expect */
21282
21483
  class HelpAndProfilePage {
@@ -21502,13 +21703,6 @@ class HelpAndProfilePage {
21502
21703
  }
21503
21704
  }
21504
21705
 
21505
- const GOOGLE_LOGIN_SELECTORS = {
21506
- totpNext: "#totpNext",
21507
- form: "form",
21508
- totpChallengeSelector: '[data-challengeid="2"]',
21509
- signOutFrameLocator: 'iframe[name="account"]',
21510
- };
21511
-
21512
21706
  //! otpauth 9.3.1 | (c) Héctor Molinero Fernández | MIT | https://github.com/hectorm/otpauth
21513
21707
  //! noble-hashes 1.4.0 | (c) Paul Miller | MIT | https://github.com/paulmillr/noble-hashes
21514
21708
  /// <reference types="./otpauth.d.ts" />
@@ -23255,14 +23449,6 @@ const initializeTotp = ({ issuer, secret, }) => {
23255
23449
  });
23256
23450
  };
23257
23451
 
23258
- const INTEGRATION_SELECTORS = {
23259
- integrationCard: (integration) => `${integration}-integration-card`,
23260
- connectButton: "connect-button",
23261
- integrationStatusTag: "integration-status-tag",
23262
- disconnectButton: "disconnect-button",
23263
- manageButton: "manage-button",
23264
- };
23265
-
23266
23452
  class IntegrationBase {
23267
23453
  constructor({ page, neetoPlaywrightUtilities, integration, connectHeader, connectedHeader, pageloaderTimeout, integrationRouteIndex, integrationRouteResponsesParams, }) {
23268
23454
  this.disconnect = async (interceptMultipleResponsesParams = {}) => {
@@ -23307,7 +23493,7 @@ class IntegrationBase {
23307
23493
  times: 0,
23308
23494
  ...this.integrationRouteResponsesParams,
23309
23495
  });
23310
- await this.page.goto(this.integrationRouteIndex);
23496
+ await this.page.goto(this.integrationRouteIndex, { timeout: 20000 });
23311
23497
  await integrationIndexPromise;
23312
23498
  }
23313
23499
  };
@@ -23372,7 +23558,7 @@ class GooglePage extends IntegrationBase {
23372
23558
  .click();
23373
23559
  };
23374
23560
  this.loginToGoogle = async () => {
23375
- await this.page.goto(THIRD_PARTY_ROUTES.google.signin);
23561
+ await this.page.goto(THIRD_PARTY_ROUTES.google.signin, { timeout: 20000 });
23376
23562
  if (!ramda.isNotNil(process.env.GOOGLE_LOGIN_EMAIL))
23377
23563
  return;
23378
23564
  await this.page
@@ -23418,7 +23604,9 @@ class GooglePage extends IntegrationBase {
23418
23604
  }).toPass({ timeout: 50000 });
23419
23605
  };
23420
23606
  this.logoutFromGoogle = async () => {
23421
- await this.page.goto(THIRD_PARTY_ROUTES.google.myAccount);
23607
+ await this.page.goto(THIRD_PARTY_ROUTES.google.myAccount, {
23608
+ timeout: 20000,
23609
+ });
23422
23610
  await this.page.getByLabel(GOOGLE_LOGIN_TEXTS.googleAccount).click();
23423
23611
  await this.page
23424
23612
  .frameLocator(GOOGLE_LOGIN_SELECTORS.signOutFrameLocator)
@@ -23471,40 +23659,6 @@ class GooglePage extends IntegrationBase {
23471
23659
  }
23472
23660
  }
23473
23661
 
23474
- const SLACK_SELECTORS = {
23475
- messageContainer: "[data-qa='message_container']",
23476
- loginEmail: "[data-qa='login_email']",
23477
- loginPassword: "[data-qa='login_password']",
23478
- signInButton: "[data-qa='signin_button']",
23479
- teamPicketButtonContent: "[data-qa='team-picker-button-content']",
23480
- redirectOpenInBrowser: "[data-qa='ssb_redirect_open_in_browser']",
23481
- workspaceActionsButton: "[data-qa='workspace_actions_button']",
23482
- teamMenuTrigger: "[data-qa='team-menu-trigger']",
23483
- menuItemButton: "[data-qa='menu_item_button']",
23484
- threadsFlexpane: "[data-qa='threads_flexpane']",
23485
- replyBar: "[data-qa='reply_bar']",
23486
- markdownElement: "[data-qa='bk_markdown_element']",
23487
- virtualListItem: "[data-qa='virtual-list-item']",
23488
- channelItems: '[role="treeitem"][data-qa="virtual-list-item"]',
23489
- };
23490
- const SLACK_DATA_QA_SELECTORS = {
23491
- sectionHeadingButton: "section_heading_button__channels",
23492
- coachMarkCloseButton: "coachmark-close-button",
23493
- messagePaneBannerCloseIcon: "message_pane_banner_close_icon",
23494
- permissionBannerCloseIcon: "banner_close_btn",
23495
- channelSectionSubmenuCreate: "channel_section_submenu_create",
23496
- channelSectionMenuCreateChannel: "channel_section_menu__create_channel",
23497
- skModalContent: "sk-modal-content",
23498
- infiniteSpinner: "infinite-spinner",
23499
- channelNameOptionsList: "channel-name-options-list",
23500
- channelNameInput: "channel-name-input",
23501
- createChannelNextButton: "create-channel-next-button",
23502
- inviteToWorkspaceSkipButton: "invite_to_workspace_skip_button",
23503
- menuItems: "menu_items",
23504
- channelDetailsModal: "channel_details_modal",
23505
- channelDetailsSettingsTab: "channel_details_settings_tab",
23506
- };
23507
-
23508
23662
  /* eslint-disable playwright/no-raw-locators */
23509
23663
  class SlackPage extends IntegrationBase {
23510
23664
  constructor({ page, neetoPlaywrightUtilities, integrationRouteIndex, }) {
@@ -23616,7 +23770,7 @@ class SlackPage extends IntegrationBase {
23616
23770
  if (ramda.isNotNil(slackWorkspace) &&
23617
23771
  ramda.isNotNil(slackLoginPassword) &&
23618
23772
  ramda.isNotNil(slackLoginEmail)) {
23619
- await slackWebappPage.goto(THIRD_PARTY_ROUTES.slack.loginWithPassword(slackWorkspace));
23773
+ await slackWebappPage.goto(THIRD_PARTY_ROUTES.slack.loginWithPassword(slackWorkspace), { timeout: 20000 });
23620
23774
  await slackWebappPage
23621
23775
  .locator(SLACK_SELECTORS.loginEmail)
23622
23776
  .pressSequentially(slackLoginEmail, { delay: 10 });
@@ -23695,19 +23849,6 @@ class SlackPage extends IntegrationBase {
23695
23849
  }
23696
23850
  }
23697
23851
 
23698
- const WEBHOOK_SELECTORS = {
23699
- addNewWebhook: "add-new-webhook-button",
23700
- endpointInputField: "endpoint-input-field",
23701
- deliveryResponseCode: "delivery-response-code",
23702
- deliveryRequestPayload: "delivery-request-payload",
23703
- addSecretKey: "add-secret-key",
23704
- newWebhookHeader: "add-new-webhook-pane-header",
23705
- endpointInputError: "endpoint-input-error",
23706
- eventsSelectError: "events-select-error",
23707
- regenerateSecret: "regenerate-secret",
23708
- deleteSecret: "delete-secret",
23709
- };
23710
-
23711
23852
  class WebhooksPage {
23712
23853
  constructor({ page, request, neetoPlaywrightUtilities, context, }) {
23713
23854
  this.getWebhookURL = async () => {
@@ -23774,26 +23915,6 @@ class WebhooksPage {
23774
23915
  }
23775
23916
  }
23776
23917
 
23777
- const ZAPIER_SELECTORS = {
23778
- zapTriggerStep: (zapId) => `[data-testid='step-node-${zapId}']`,
23779
- zapAccountSubstep: "[data-testid='substep-Account']",
23780
- zapOpenSubstepContainer: "[data-testid='open-sub-step-container']",
23781
- modal: "[data-testid='Modal']",
23782
- fmPrettytext: ".fm-prettytext",
23783
- spinner: "[data-testid='spinner']",
23784
- skeletonBlock: "[data-testid='SkeletonBlock']",
23785
- accountsLoader: "[data-testid='accounts-loader']",
23786
- floatingBox: "[data-testid='floating-box']",
23787
- connection: "[data-testid='Connection']",
23788
- deleteConnectionModal: "[data-testid='DeleteAuthModal-root']",
23789
- deleteConnectionDropdownButton: "[data-testid='connection-list-item-dropdown-item-Delete']",
23790
- usageAmounts: "css=[class$=UsageBar__amounts]",
23791
- universalSidebar: "[data-testid='universalSidebar']",
23792
- sidebarFooter: "css=[class$=InAppSidebarFooter__footerWrapper]",
23793
- contextualSideBar: "[data-testid='contextual-sidebar']",
23794
- iconContainer: "[data-testid='iconContainer']",
23795
- };
23796
-
23797
23918
  class ZapierPage extends IntegrationBase {
23798
23919
  constructor({ page, neetoPlaywrightUtilities, integrationRouteIndex, mailerUtils, }) {
23799
23920
  super({
@@ -24305,7 +24426,7 @@ class EditorPage {
24305
24426
  }
24306
24427
 
24307
24428
  class ImageUploader {
24308
- constructor({ page, neetoPlaywrightUtilities, }) {
24429
+ constructor(page, neetoPlaywrightUtilities) {
24309
24430
  this.submitCroppedImage = async () => {
24310
24431
  const cropImage = this.neetoPlaywrightUtilities.interceptMultipleResponses({
24311
24432
  responseUrl: ROUTES.directUploads,
@@ -24445,44 +24566,6 @@ class ImageUploader {
24445
24566
  }
24446
24567
  }
24447
24568
 
24448
- const MEMBER_SELECTORS = {
24449
- membersTab: "members-nav-tab",
24450
- newButton: "ntm-add-member-button",
24451
- continueButton: "ntm-manage-member-continue-button",
24452
- submitButton: "ntm-manage-member-submit-button",
24453
- searchTextField: "ntm-search-members-input",
24454
- deactivatedAgentsButton: "ntm-members-menubar-deactivated-block",
24455
- activatedMembersButton: "ntm-members-menubar-active-block",
24456
- columnCheckBox: "neeto-ui-columns-checkbox",
24457
- roleLabel: (role) => `${joinHyphenCase(role)}-radio-label`,
24458
- teamMembersTable: "ntm-members-table",
24459
- dropDownIcon: "ntm-members-table-row-dropdown-button",
24460
- editButton: "ntm-edit-member-button",
24461
- menuBarHeading: "ntm-members-menubar-heading",
24462
- removeMember: "ntm-deactivate-member-button",
24463
- columnsButton: "columns-dropdown-button",
24464
- columnsDropdownContainer: "columns-dropdown-container",
24465
- emailDropdownItemLabel: "email-checkbox-label",
24466
- roleDropdownItemLabel: "role-checkbox-label",
24467
- inviteStatusDropdownItemLabel: "invite-status-checkbox-label",
24468
- heading: "ntm-manage-members-pane-header",
24469
- activateButton: "ntm-activate-members-button",
24470
- deactivateButton: "ntm-deactivate-members-button",
24471
- rolesButton: "ntm-manage-member-roles-button",
24472
- statusTag: "ntm-member-status-tag",
24473
- menubarSubLink: (sublink) => `members-${sublink}-block-sub-link`,
24474
- takeActionStateOption: (option = "") => `ntm-${hyphenize(option)}-members-button`,
24475
- checkboxLabel: (label) => `${hyphenize(label)}-checkbox-label`,
24476
- };
24477
- const MEMBER_FORM_SELECTORS = {
24478
- emailTextField: "email-select-input-field",
24479
- firstNameTextField: "ntm-edit-member-first-name-text-field",
24480
- lastNameTextField: "ntm-edit-member-last-name-text-field",
24481
- emailInput: "ntm-manage-member-email-input",
24482
- emailErrorField: "emails-input-error",
24483
- cancelButton: "ntm-manage-member-cancel-button",
24484
- };
24485
-
24486
24569
  class TeamMembers {
24487
24570
  constructor({ page, neetoPlaywrightUtilities, }) {
24488
24571
  this.navigateToTeamMembers = async () => {
@@ -24679,41 +24762,15 @@ class TeamMembers {
24679
24762
  }
24680
24763
  }
24681
24764
 
24682
- const LOGIN_SELECTORS = {
24683
- appleAuthenticationButton: "apple-authentication-button",
24684
- emailTextField: "login-email-text-field",
24685
- googleAuthenticationButton: "google-authentication-button",
24686
- githubAuthenticationButton: "github-authentication-button",
24687
- loginViaEmailButton: "login-via-email-button",
24688
- passwordTextField: "login-password-text-field",
24689
- rememberMeCheckBox: "login-remember-me-check-box",
24690
- submitButton: "login-submit-button",
24691
- twitterAuthenticationButton: "twitter-authentication-button",
24692
- };
24693
-
24694
- const SIGNUP_SELECTORS = {
24695
- emailTextField: "signup-email-text-field",
24696
- firstNameTextField: "signup-profile-first-name-text-field",
24697
- lastNameTextField: "signup-profile-last-name-text-field",
24698
- organizationNameTextField: "signup-organization-name-text-field",
24699
- organizationSubmitButton: "signup-organization-submit-button",
24700
- otpTextBox: "otpinput-otp-number",
24701
- profileSubmitButton: "signup-profile-submit-button",
24702
- signupViaEmailButton: "signup-via-email-button",
24703
- submitButton: "signup-email-submit-button",
24704
- subdomainNameTextField: "signup-organization-subdomain-text-field",
24705
- subdomainError: "subdomain-input-error",
24706
- tryFreeButton: "neeto-auth-signup-link",
24707
- unregisterdEmailError: "unregisterd-email-error",
24708
- };
24709
-
24710
24765
  const loginWithoutSSO = async ({ page, neetoPlaywrightUtilities, loginPath = "/", }) => {
24711
24766
  if (shouldSkipSetupAndTeardown())
24712
24767
  return;
24713
- await page.goto(loginPath);
24714
- await page.getByTestId("login-email-text-field").fill(CREDENTIALS.email);
24768
+ await page.goto(loginPath, { timeout: 20000 });
24769
+ await page
24770
+ .getByTestId(LOGIN_SELECTORS.emailTextField)
24771
+ .fill(CREDENTIALS.email);
24715
24772
  await page
24716
- .getByTestId("login-password-text-field")
24773
+ .getByTestId(LOGIN_SELECTORS.passwordTextField)
24717
24774
  .fill(CREDENTIALS.password);
24718
24775
  const login = neetoPlaywrightUtilities.interceptMultipleResponses({
24719
24776
  times: 1,
@@ -24751,8 +24808,8 @@ class OrganizationPage {
24751
24808
  const appNameInLowerCase = appName.toLowerCase();
24752
24809
  const isNeetoAuth = appNameInLowerCase === "neetoauth";
24753
24810
  isNeetoAuth
24754
- ? await this.page.goto(ROUTES.neetoAuthSignup)
24755
- : await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${appNameInLowerCase}.net`);
24811
+ ? await this.page.goto(ROUTES.neetoAuthSignup, { timeout: 20000 })
24812
+ : await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${appNameInLowerCase}.net`, { timeout: 20000 });
24756
24813
  await this.page.getByTestId(SIGNUP_SELECTORS.emailTextField).fill(email);
24757
24814
  const signup = this.neetoPlaywrightUtilities.interceptMultipleResponses({
24758
24815
  responseUrl: ROUTES.signup,
@@ -24872,7 +24929,7 @@ class OrganizationPage {
24872
24929
  await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.pageLoader)).toBeHidden({ timeout: 15000 });
24873
24930
  };
24874
24931
  this.loginAndOnboard = async ({ email, firstName, lastName, country, handleOnboarding, baseURL = process.env.BASE_URL, }) => {
24875
- await this.page.goto(`${baseURL}/${ROUTES.admin}`);
24932
+ await this.page.goto(`${baseURL}/${ROUTES.admin}`, { timeout: 20000 });
24876
24933
  await this.loginViaSSO(email);
24877
24934
  await this.setupProfile({ firstName, lastName, country });
24878
24935
  await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
@@ -24882,7 +24939,7 @@ class OrganizationPage {
24882
24939
  };
24883
24940
  this.signUp = async ({ credentials, fetchOtpFromEmail, appName, }) => {
24884
24941
  let otp = "123456";
24885
- await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`);
24942
+ await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`, { timeout: 20000 });
24886
24943
  await this.page
24887
24944
  .getByTestId(SIGNUP_SELECTORS.emailTextField)
24888
24945
  .fill(credentials.email);
@@ -24965,36 +25022,6 @@ class SidebarSection {
24965
25022
  }
24966
25023
  }
24967
25024
 
24968
- const TAGS_SELECTORS = {
24969
- newTagButton: "add-new-tag-button",
24970
- tagNameTextField: "tag-name-text-field",
24971
- editButton: "tags-edit-button",
24972
- deleteButton: "tags-delete-button",
24973
- cancelButton: "neeto-tags-manage-tag-cancel-button",
24974
- submitButton: "neeto-tags-manage-tag-submit-button",
24975
- searchTextField: "neeto-tags-search-text-input-field",
24976
- descriptionTextArea: "tag-description-text-area",
24977
- addTagButton: "neeto-tags-add-tag-button",
24978
- tagSearchField: "select-tag-container",
24979
- deleteTagButton: "tag-close-icon",
24980
- metaDataCard: "metadata-card",
24981
- metaDataBlock: "metadata-block",
24982
- tagContainer: "tag-container",
24983
- };
24984
- const MERGE_TAGS_SELECTORS = {
24985
- mergeTagsButton: "neeto-tags-merge-tags-button",
24986
- mergeButton: "neeto-tags-merge-button",
24987
- sourceSearchTextField: "neeto-tags-merge-source-search-text-input-field",
24988
- sourceTagsList: "neeto-tags-merge-source-tags-list",
24989
- destinationTagsList: "neeto-tags-merge-destination-tags-list",
24990
- destinationSearchTextField: "neeto-tags-merge-destination-search-text-input-field",
24991
- cancelButton: "neeto-tags-merge-cancel-button",
24992
- proceedButton: "neeto-tags-merge-proceed-button",
24993
- disabledTag: ".neeto-ui-cursor-not-allowed",
24994
- sourceTagRow: "neeto-tags-merge-source-tags",
24995
- destinationTagRow: "neeto-tags-merge-destination-tags",
24996
- };
24997
-
24998
25025
  class TagsApi {
24999
25026
  constructor(neetoPlaywrightUtilities) {
25000
25027
  this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
@@ -25140,26 +25167,6 @@ const networkConditions = {
25140
25167
  },
25141
25168
  };
25142
25169
 
25143
- const ROLES_SELECTORS = {
25144
- newButton: "ntm-add-role-button",
25145
- proceedButton: "ntm-add-role-submit-button",
25146
- cancelButton: "ntm-add-role-cancel-button",
25147
- tableHeaderRoleName: "ntm-roles-table-role-header",
25148
- nameTextField: "ntm-add-role-name-text-field",
25149
- searchTextField: "ntm-search-roles-input",
25150
- updateRolePaneHeading: "ntm-add-role-title",
25151
- updateRoleCancelButton: "ntm-add-role-cancel-button",
25152
- descriptionTextField: "ntm-add-role-description-text-field",
25153
- permissionCategoryTitle: "ntm-roles-permission-category-title",
25154
- headerColumn: "ntm-roles-table-header",
25155
- dropDownIcon: "ntm-roles-table-header-role-dropdown-button",
25156
- tableHeaderRoleTitle: "ntm-roles-table-header-role-title",
25157
- permissionCheckbox: "ntm-roles-permission-checkbox",
25158
- editRoleButton: "ntm-roles-table-edit-role-button",
25159
- deleteRoleButton: "ntm-roles-table-delete-role-button",
25160
- permissionCard: "ntm-roles-permission-card",
25161
- };
25162
-
25163
25170
  const initializeCredentials = (product) => {
25164
25171
  var _a;
25165
25172
  if (process.env.SKIP_SETUP === "true" && getGlobalUserState()) {
@@ -25187,24 +25194,39 @@ const initializeCredentials = (product) => {
25187
25194
  }
25188
25195
  };
25189
25196
 
25190
- const addMemberViaRequest = ({ email, role = MEMBER_TEXTS.agent, appName, neetoPlaywrightUtilities, }) => test$1.expect
25191
- .poll(async () => {
25192
- const response = await neetoPlaywrightUtilities.apiRequest({
25193
- method: "post",
25194
- url: API_ROUTES.teamMembers.index,
25195
- body: {
25196
- user: {
25197
- emails: [email],
25198
- organization_role: role,
25199
- app_roles: [
25200
- { app_name: appName, active_role: role, is_enabled: true },
25201
- ],
25197
+ const addMemberViaRequest = async ({ email, role = MEMBER_TEXTS.agent, appName, neetoPlaywrightUtilities, }) => {
25198
+ let response;
25199
+ await test$1.expect
25200
+ .poll(async () => {
25201
+ response = await neetoPlaywrightUtilities.apiRequest({
25202
+ method: "post",
25203
+ url: API_ROUTES.teamMembers.index,
25204
+ body: {
25205
+ user: {
25206
+ emails: [email],
25207
+ organization_role: role,
25208
+ app_roles: [
25209
+ { app_name: appName, active_role: role, is_enabled: true },
25210
+ ],
25211
+ },
25202
25212
  },
25203
- },
25204
- });
25205
- return response === null || response === void 0 ? void 0 : response.status();
25206
- }, { timeout: 30000 })
25207
- .toBe(200);
25213
+ });
25214
+ return response === null || response === void 0 ? void 0 : response.status();
25215
+ }, { timeout: 30000 })
25216
+ .toBe(200);
25217
+ const responseBodyBuffer = await (response === null || response === void 0 ? void 0 : response.body());
25218
+ const { job_id: jobId } = JSON.parse(String(responseBodyBuffer));
25219
+ await test$1.expect
25220
+ .poll(async () => {
25221
+ const jobResponse = await neetoPlaywrightUtilities.apiRequest({
25222
+ url: API_ROUTES.teamMembers.creationStatus(jobId),
25223
+ });
25224
+ const responseBodyBuffer = await (jobResponse === null || jobResponse === void 0 ? void 0 : jobResponse.body());
25225
+ const { is_completed: isCompleted } = JSON.parse(String(responseBodyBuffer));
25226
+ return isCompleted;
25227
+ }, { timeout: 30000 })
25228
+ .toBe(true);
25229
+ };
25208
25230
  const editMemberViaRequest = async ({ email, firstName, lastName, newRole, neetoPlaywrightUtilities, }) => {
25209
25231
  const response = await neetoPlaywrightUtilities.apiRequest({
25210
25232
  method: "get",
@@ -157312,6 +157334,7 @@ exports.EmbedBase = EmbedBase;
157312
157334
  exports.FONT_SIZE_SELECTORS = FONT_SIZE_SELECTORS;
157313
157335
  exports.GLOBAL_TRANSLATIONS_PATTERN = GLOBAL_TRANSLATIONS_PATTERN;
157314
157336
  exports.GOOGLE_CALENDAR_DATE_FORMAT = GOOGLE_CALENDAR_DATE_FORMAT;
157337
+ exports.GOOGLE_LOGIN_SELECTORS = GOOGLE_LOGIN_SELECTORS;
157315
157338
  exports.GOOGLE_LOGIN_TEXTS = GOOGLE_LOGIN_TEXTS;
157316
157339
  exports.GooglePage = GooglePage;
157317
157340
  exports.HELP_CENTER_SELECTORS = HELP_CENTER_SELECTORS;
@@ -157366,6 +157389,7 @@ exports.TagsPage = TagsPage;
157366
157389
  exports.TeamMembers = TeamMembers;
157367
157390
  exports.ThankYouPage = ThankYouPage;
157368
157391
  exports.USER_AGENTS = USER_AGENTS;
157392
+ exports.WEBHOOK_SELECTORS = WEBHOOK_SELECTORS;
157369
157393
  exports.WebhooksPage = WebhooksPage;
157370
157394
  exports.ZAPIER_LIMIT_EXHAUSTED_MESSAGE = ZAPIER_LIMIT_EXHAUSTED_MESSAGE;
157371
157395
  exports.ZAPIER_SELECTORS = ZAPIER_SELECTORS;