@bigbinary/neeto-playwright-commons 1.11.2 → 1.11.4

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
@@ -323,6 +323,7 @@ const COMMON_SELECTORS = {
323
323
  windowAlert: "#alert-box",
324
324
  body: "body",
325
325
  toastIcon: ".Toastify__toast-icon",
326
+ toastContainer: ".Toastify__toast-container",
326
327
  paneModalCrossIcon: "pane-close-button",
327
328
  inputField: "nui-input-field",
328
329
  alertBox: "alert-box",
@@ -384,6 +385,7 @@ const COMMON_SELECTORS = {
384
385
  modalForever: "modal-footer",
385
386
  navigationHeader: "navigation-header",
386
387
  buttonSpinner: ".neeto-ui-btn__spinner",
388
+ customSelectValueContainer: (label = "nui") => `${hyphenize(label)}-select-value-container`,
387
389
  };
388
390
 
389
391
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -3609,14 +3611,17 @@ class CustomCommands {
3609
3611
  : verifyEachFieldValue(values);
3610
3612
  };
3611
3613
  this.searchAndVerify = async ({ searchTerm, searchInputSelector = COMMON_SELECTORS.inputField, countSelector, countText, }) => {
3612
- await test$1.expect(async () => {
3613
- await this.page.getByTestId(searchInputSelector).fill(searchTerm);
3614
- await test$1.expect(this.page.getByTestId(NEETO_FILTERS_SELECTORS.searchTermBlock)).toBeVisible();
3615
- await this.page.reload({ waitUntil: "load" });
3616
- await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.pageLoader)).toBeHidden({ timeout: 10000 });
3617
- await test$1.expect(this.page.getByRole("cell", { name: searchTerm })).toBeVisible();
3618
- await test$1.expect(this.page.getByTestId(countSelector)).toContainText(countText);
3619
- }).toPass({ timeout: 15000 });
3614
+ await this.page.getByTestId(searchInputSelector).clear();
3615
+ await this.page
3616
+ .getByTestId(searchInputSelector)
3617
+ .pressSequentially(searchTerm, { delay: 100 });
3618
+ await test$1.expect(this.page.locator(COMMON_SELECTORS.tableSpinner)).toBeHidden({
3619
+ timeout: 10000,
3620
+ });
3621
+ await test$1.expect(this.page.getByTestId(NEETO_FILTERS_SELECTORS.searchTermBlock)).toBeVisible();
3622
+ await this.waitForPageLoad();
3623
+ await test$1.expect(this.page.getByRole("cell", { name: searchTerm })).toBeVisible();
3624
+ await test$1.expect(this.page.getByTestId(countSelector)).toContainText(countText);
3620
3625
  };
3621
3626
  this.uploadImage = async (localImagePath) => {
3622
3627
  const { imageName, imagePath } = getImagePathAndName(localImagePath);
@@ -12936,7 +12941,7 @@ const TOASTR_MESSAGES = {
12936
12941
  };
12937
12942
  const ZAPIER_LIMIT_EXHAUSTED_MESSAGE = "Zapier free task limit is exhausted. Test will be aborted";
12938
12943
  const EMOJI_LABEL = "thumbs up";
12939
- const ATTACHMENT_DELETION_TOASTR_MESSAGE = "Attachment has been successfully deleted.";
12944
+ const SELECT_COUNTRY = "Select country";
12940
12945
 
12941
12946
  const HELP_CENTER_SELECTORS = {
12942
12947
  helpButton: "help-button",
@@ -12958,6 +12963,8 @@ const PROFILE_SECTION_SELECTORS = {
12958
12963
  logoutButton: "profile-logout-button",
12959
12964
  neetoAuthLink: "ntm-visit-auth-button",
12960
12965
  profileSidebarCancelButton: "ntm-profile-cancel-button",
12966
+ profileAvatar: "profile-avatar",
12967
+ actionHeaderUserEmail: "floating-action-menu-header-user-email",
12961
12968
  };
12962
12969
 
12963
12970
  const CHAT_WIDGET_SELECTORS = {
@@ -13821,20 +13828,20 @@ const EXPANDED_FONT_SIZE = {
13821
13828
  h5: "Heading 5",
13822
13829
  };
13823
13830
  const TEXT_MODIFIER_TAGS = {
13824
- underlineOption: "u",
13825
- strikeOption: "s",
13826
- highlightOption: "mark",
13831
+ underline: "u",
13832
+ strike: "s",
13833
+ highlight: "mark",
13827
13834
  };
13828
13835
  const TEXT_MODIFIER_ROLES = {
13829
- boldOption: "strong",
13830
- italicsOption: "emphasis",
13831
- blockquoteOption: "blockquote",
13832
- codeblockOption: "code",
13833
- codeOption: "code",
13836
+ bold: "strong",
13837
+ italic: "emphasis",
13838
+ code: "code",
13839
+ blockquote: "blockquote",
13840
+ codeBlock: "code",
13834
13841
  };
13835
13842
  const LIST_MODIFIER_TAGS = {
13836
- bulletListOption: "ul",
13837
- orderedListOption: "ol",
13843
+ bulletList: "ul",
13844
+ orderedList: "ol",
13838
13845
  };
13839
13846
 
13840
13847
  const optionSelector = (option) => `neeto-editor-fixed-menu-${option}-option`;
@@ -13895,20 +13902,20 @@ const NEETO_EDITOR_SELECTORS = {
13895
13902
  dynamicVariableSelector: (variable) => `dynamic-variables-list-item-${neetoCist.hyphenate(variable)}`,
13896
13903
  };
13897
13904
  const NEETO_TEXT_MODIFIER_SELECTORS = {
13898
- strikeOption: optionSelector("strike"),
13899
- underlineOption: optionSelector("underline"),
13900
- highlightOption: optionSelector("highlight"),
13905
+ strike: optionSelector("strike"),
13906
+ underline: optionSelector("underline"),
13907
+ highlight: optionSelector("highlight"),
13901
13908
  };
13902
13909
  const TEXT_MODIFIER_SELECTORS = {
13903
- boldOption: optionSelector("bold"),
13904
- italicsOption: optionSelector("italic"),
13905
- codeOption: optionSelector("code"),
13906
- blockquoteOption: optionSelector("blockquote"),
13907
- codeblockOption: optionSelector("codeBlock"),
13910
+ bold: optionSelector("bold"),
13911
+ italic: optionSelector("italic"),
13912
+ code: optionSelector("code"),
13913
+ blockquote: optionSelector("blockquote"),
13914
+ codeBlock: optionSelector("codeBlock"),
13908
13915
  };
13909
13916
  const LIST_MODIFIER_SELECTORS = {
13910
- bulletListOption: optionSelector("bulletList"),
13911
- orderedListOption: optionSelector("orderedList"),
13917
+ bulletList: optionSelector("bulletList"),
13918
+ orderedList: optionSelector("orderedList"),
13912
13919
  };
13913
13920
  const FONT_SIZE_SELECTORS = {
13914
13921
  h1: fixedMenuSelector("font-size-option-h1"),
@@ -13920,12 +13927,36 @@ const FONT_SIZE_SELECTORS = {
13920
13927
 
13921
13928
  class EditorPage {
13922
13929
  constructor(page, neetoPlaywrightUtilities, editorWrapper) {
13923
- this.assertOptionVisibility = async (optionLocator) => {
13924
- if (await optionLocator.isVisible())
13925
- return true;
13926
- (await this.moreMenuSelector.isVisible()) &&
13927
- (await this.moreMenuSelector.click());
13928
- return optionLocator.isVisible();
13930
+ this.linkUrl = faker.faker.internet.url();
13931
+ this.filePath = "../../../e2e/assets/images/BigBinary.png";
13932
+ this.imageUrl = "https://picsum.photos/200/300";
13933
+ this.videoUrl = "https://youtu.be/jNQXAC9IVRw";
13934
+ this.cannedResponseSuccessMessage = "";
13935
+ this.cleanString = (selector = "") => (selector === null || selector === void 0 ? void 0 : selector.replace("neeto-editor-fixed-menu-", "").replace("-option", "")) ||
13936
+ "";
13937
+ this.fixedMenuOptions = async () => {
13938
+ (await this.fixedMenuArrowSelector.isVisible()) &&
13939
+ (await this.fixedMenuArrowSelector.click());
13940
+ const fixedMenuButtons = await this.editorWrapper
13941
+ .getByTestId(NEETO_EDITOR_SELECTORS.fixedMenuWrapper)
13942
+ .getByRole("button")
13943
+ .all();
13944
+ (await this.moreMenuSelector.isVisible()) && fixedMenuButtons.pop();
13945
+ return Promise.all(fixedMenuButtons.map(async (button) => {
13946
+ const dataCy = await button.getAttribute("data-cy");
13947
+ return this.cleanString(dataCy);
13948
+ }));
13949
+ };
13950
+ this.moreMenuOptions = async () => {
13951
+ await this.moreMenuSelector.click();
13952
+ const moreMenuButtons = await this.page
13953
+ .getByTestId(COMMON_SELECTORS.dropdownContainer)
13954
+ .getByRole("button")
13955
+ .all();
13956
+ return Promise.all(moreMenuButtons.map(async (button) => {
13957
+ const dataCy = await button.getAttribute("data-cy");
13958
+ return this.cleanString(dataCy);
13959
+ }));
13929
13960
  };
13930
13961
  this.verifyFontSize = async () => {
13931
13962
  const fontSizeDropdown = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.fontSize);
@@ -13940,42 +13971,24 @@ class EditorPage {
13940
13971
  await fontSizeDropdown.click();
13941
13972
  }
13942
13973
  };
13943
- this.verifyTextModifiers = async () => {
13944
- const textModifier = Object.keys(TEXT_MODIFIER_SELECTORS);
13945
- for (const modifier of textModifier) {
13946
- const modifierKey = modifier;
13947
- const textModifierRole = TEXT_MODIFIER_ROLES[modifierKey];
13948
- const textModifierSelector = this.editorWrapper.getByTestId(TEXT_MODIFIER_SELECTORS[modifierKey]);
13949
- if (await this.assertOptionVisibility(textModifierSelector)) {
13950
- await textModifierSelector.click();
13951
- await test$1.expect(this.contentField.getByRole(textModifierRole)).toBeVisible();
13952
- await textModifierSelector.click();
13953
- }
13954
- }
13974
+ this.verifyTextModifiers = async (modifier) => {
13975
+ const modifierKey = modifier;
13976
+ const textModifierRole = TEXT_MODIFIER_ROLES[modifierKey];
13977
+ const textModifierSelector = this.editorWrapper.getByTestId(TEXT_MODIFIER_SELECTORS[modifierKey]);
13978
+ await textModifierSelector.click();
13979
+ await test$1.expect(this.contentField.getByRole(textModifierRole)).toBeVisible();
13955
13980
  };
13956
- this.verifyTextDeskModifier = async () => {
13957
- const textDeskModifier = Object.keys(NEETO_TEXT_MODIFIER_SELECTORS);
13958
- for (const modifier of textDeskModifier) {
13959
- const modifierKey = modifier;
13960
- const textModifierSelector = this.editorWrapper.getByTestId(NEETO_TEXT_MODIFIER_SELECTORS[modifierKey]);
13961
- if (await this.assertOptionVisibility(textModifierSelector)) {
13962
- await textModifierSelector.click();
13963
- await test$1.expect(this.contentField.locator(TEXT_MODIFIER_TAGS[modifierKey])).toBeVisible();
13964
- await textModifierSelector.click();
13965
- }
13966
- }
13981
+ this.verifyTextDeskModifier = async (modifier) => {
13982
+ const modifierKey = modifier;
13983
+ const textModifierSelector = this.editorWrapper.getByTestId(NEETO_TEXT_MODIFIER_SELECTORS[modifierKey]);
13984
+ await textModifierSelector.click();
13985
+ await test$1.expect(this.contentField.locator(TEXT_MODIFIER_TAGS[modifierKey])).toBeVisible();
13967
13986
  };
13968
- this.verifyListModifiers = async () => {
13969
- const listModifier = Object.keys(LIST_MODIFIER_SELECTORS);
13970
- for (const modifier of listModifier) {
13971
- const modifierKey = modifier;
13972
- const listModifierSelector = this.editorWrapper.getByTestId(LIST_MODIFIER_SELECTORS[modifierKey]);
13973
- if (await this.assertOptionVisibility(listModifierSelector)) {
13974
- await listModifierSelector.click();
13975
- await test$1.expect(this.contentField.locator(LIST_MODIFIER_TAGS[modifierKey])).toBeVisible();
13976
- await listModifierSelector.click();
13977
- }
13978
- }
13987
+ this.verifyListModifiers = async (modifier) => {
13988
+ const modifierKey = modifier;
13989
+ const listModifierSelector = this.editorWrapper.getByTestId(LIST_MODIFIER_SELECTORS[modifierKey]);
13990
+ await listModifierSelector.click();
13991
+ await test$1.expect(this.contentField.locator(LIST_MODIFIER_TAGS[modifierKey])).toBeVisible();
13979
13992
  };
13980
13993
  this.verifyEditorLinkButton = async (linkUrl) => {
13981
13994
  await this.editorLinkButton.click();
@@ -13998,7 +14011,6 @@ class EditorPage {
13998
14011
  await this.neetoPlaywrightUtilities.interceptMultipleResponses({
13999
14012
  responseUrl: ROUTES.attachment,
14000
14013
  });
14001
- await this.neetoPlaywrightUtilities.verifyToast();
14002
14014
  await test$1.expect(this.attachmentPreview).toBeVisible();
14003
14015
  await this.attachmentPreview
14004
14016
  .getByTestId(COMMON_SELECTORS.dropdownIcon)
@@ -14009,9 +14021,7 @@ class EditorPage {
14009
14021
  await this.page
14010
14022
  .getByTestId(COMMON_SELECTORS.alertModalSubmitButton)
14011
14023
  .click();
14012
- await this.neetoPlaywrightUtilities.verifyToast({
14013
- message: ATTACHMENT_DELETION_TOASTR_MESSAGE,
14014
- });
14024
+ await test$1.expect(this.attachmentPreview).toBeHidden({ timeout: 10000 });
14015
14025
  };
14016
14026
  this.verifyImageUploadOption = async ({ imageUrl, filePath, }) => {
14017
14027
  await this.imageUploadOption.click();
@@ -14028,6 +14038,8 @@ class EditorPage {
14028
14038
  await test$1.expect(this.imageWrapper).toBeHidden({
14029
14039
  timeout: 15000,
14030
14040
  });
14041
+ (await this.imageUploadOption.isHidden()) &&
14042
+ (await this.moreMenuSelector.click());
14031
14043
  await this.imageUploadOption.click();
14032
14044
  await this.page
14033
14045
  .getByTestId(NEETO_EDITOR_SELECTORS.imageUploadLinkButton)
@@ -14097,38 +14109,63 @@ class EditorPage {
14097
14109
  await test$1.expect(this.contentField.getByText(dynamicVariable)).toBeVisible();
14098
14110
  }
14099
14111
  };
14100
- this.verifyDescriptionEditor = async ({ text, dynamicVariables, linkUrl = faker.faker.internet.url(), filePath = "../../../e2e/assets/images/BigBinary.png", imageUrl = "https://picsum.photos/200/300", videoUrl = "https://youtu.be/jNQXAC9IVRw", cannedResponseSuccessMessage, }) => {
14112
+ this.buttonsAndVerifications = {
14113
+ "font-size": this.verifyFontSize,
14114
+ emoji: this.verifyEmojiSelector,
14115
+ bold: () => this.verifyTextModifiers("bold"),
14116
+ italic: () => this.verifyTextModifiers("italic"),
14117
+ code: () => this.verifyTextModifiers("code"),
14118
+ blockquote: () => this.verifyTextModifiers("blockquote"),
14119
+ codeBlock: () => this.verifyTextModifiers("codeBlock"),
14120
+ underline: () => this.verifyTextDeskModifier("underline"),
14121
+ strike: () => this.verifyTextDeskModifier("strike"),
14122
+ highlight: () => this.verifyTextDeskModifier("highlight"),
14123
+ bulletList: () => this.verifyListModifiers("bulletList"),
14124
+ orderedList: () => this.verifyListModifiers("orderedList"),
14125
+ link: () => this.verifyEditorLinkButton(this.linkUrl),
14126
+ attachments: () => this.verifyEditorAttachmentsButton(this.filePath),
14127
+ "image-upload": () => this.verifyImageUploadOption({
14128
+ imageUrl: this.imageUrl,
14129
+ filePath: this.filePath,
14130
+ }),
14131
+ "canned-responses": this.verifyCannedResponseOption,
14132
+ "video-embed": () => this.verifyVideoEmbedOption(this.videoUrl),
14133
+ };
14134
+ this.verifyDescriptionEditor = async ({ text, dynamicVariables, linkUrl, filePath, imageUrl, videoUrl, cannedResponseSuccessMessage, }) => {
14135
+ const fixedMenuButtons = await this.fixedMenuOptions();
14136
+ let moreMenuButtons = [];
14137
+ (await this.moreMenuSelector.isVisible()) &&
14138
+ (moreMenuButtons = await this.moreMenuOptions());
14139
+ const needToSkipDisabling = [
14140
+ "link",
14141
+ "attachments",
14142
+ "image-upload",
14143
+ "canned-responses",
14144
+ "video-embed",
14145
+ "emoji",
14146
+ ];
14147
+ this.linkUrl = linkUrl || this.linkUrl;
14148
+ this.filePath = filePath || this.filePath;
14149
+ this.imageUrl = imageUrl || this.imageUrl;
14150
+ this.videoUrl = videoUrl || this.videoUrl;
14151
+ this.cannedResponseSuccessMessage = cannedResponseSuccessMessage;
14101
14152
  await this.contentField.fill(text);
14102
- await this.verifyFontSize();
14103
- if (await this.assertOptionVisibility(this.paragraphSelector)) {
14104
- await this.paragraphSelector.click();
14105
- const paragraphRole = DESCRIPTION_EDITOR_TEXTS.paragraphOption;
14106
- await test$1.expect(this.contentField.getByRole(paragraphRole)).toBeVisible();
14153
+ for (const button of fixedMenuButtons) {
14154
+ await this.contentField.click({ clickCount: 3 });
14155
+ await this.buttonsAndVerifications[button]();
14156
+ !needToSkipDisabling.includes(button) &&
14157
+ (await this.editorWrapper.getByTestId(optionSelector(button)).click());
14107
14158
  }
14108
- (await this.fixedMenuArrowSelector.isVisible()) &&
14109
- (await this.fixedMenuArrowSelector.click());
14110
- await this.editorWrapper.getByText(text).click({ clickCount: 3 });
14111
- await this.verifyTextModifiers();
14112
- await this.verifyTextDeskModifier();
14113
- await this.verifyListModifiers();
14114
- (await this.assertOptionVisibility(this.editorLinkButton)) &&
14115
- (await this.verifyEditorLinkButton(linkUrl));
14116
- (await this.assertOptionVisibility(this.editorAttachmentsButton)) &&
14117
- (await this.verifyEditorAttachmentsButton(filePath));
14118
- (await this.assertOptionVisibility(this.imageUploadOption)) &&
14119
- (await this.verifyImageUploadOption({
14120
- imageUrl,
14121
- filePath,
14122
- }));
14123
- (await this.assertOptionVisibility(this.cannedResponseOption)) &&
14124
- (await this.verifyCannedResponseOption(cannedResponseSuccessMessage));
14125
- (await this.assertOptionVisibility(this.videoEmbedOption)) &&
14126
- (await this.verifyVideoEmbedOption(videoUrl));
14127
- (await this.assertOptionVisibility(this.emojiSelector)) &&
14128
- (await this.verifyEmojiSelector());
14129
- dynamicVariables &&
14130
- (await this.assertOptionVisibility(this.dynamicVariablesButton)) &&
14131
- (await this.verifyDynamicVariables(dynamicVariables));
14159
+ for (const button of moreMenuButtons) {
14160
+ await this.contentField.click({ clickCount: 3 });
14161
+ await this.moreMenuSelector.click();
14162
+ await this.buttonsAndVerifications[button]();
14163
+ if (!needToSkipDisabling.includes(button)) {
14164
+ await this.moreMenuSelector.click();
14165
+ await this.editorWrapper.getByTestId(optionSelector(button)).click();
14166
+ }
14167
+ }
14168
+ dynamicVariables && (await this.verifyDynamicVariables(dynamicVariables));
14132
14169
  };
14133
14170
  this.page = page;
14134
14171
  this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
@@ -14136,7 +14173,6 @@ class EditorPage {
14136
14173
  this.editorWrapper = this.page;
14137
14174
  if (editorWrapper)
14138
14175
  this.editorWrapper = editorWrapper;
14139
- this.paragraphSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.paragraphOption);
14140
14176
  this.fixedMenuArrowSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.fixedMenuArrow);
14141
14177
  this.editorLinkButton = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.linkOption);
14142
14178
  this.attachmentPreview = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.attachmentPreview);
@@ -14149,7 +14185,9 @@ class EditorPage {
14149
14185
  this.videoEmbedInput = this.page.getByTestId(NEETO_EDITOR_SELECTORS.videoEmbedInput);
14150
14186
  this.videoWrapperSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.videoWrapper);
14151
14187
  this.emojiSelector = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.emojiOption);
14152
- this.moreMenuSelector = this.editorWrapper.getByTestId(COMMON_SELECTORS.dropdownIcon);
14188
+ this.moreMenuSelector = this.editorWrapper
14189
+ .getByTestId(NEETO_EDITOR_SELECTORS.fixedMenuWrapper)
14190
+ .getByTestId(COMMON_SELECTORS.dropdownIcon);
14153
14191
  this.contentField = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.contentField);
14154
14192
  this.dynamicVariablesButton = this.editorWrapper.getByTestId(NEETO_EDITOR_SELECTORS.dynamicVariablesButton);
14155
14193
  }
@@ -14698,13 +14736,14 @@ class OrganizationPage {
14698
14736
  .getByTestId(SIGNUP_SELECTORS.otpTextBox)
14699
14737
  .fill(faker.faker.string.numeric(6));
14700
14738
  };
14701
- this.setupProfile = async ({ firstName = faker.faker.person.firstName(), lastName = faker.faker.person.lastName(), } = {}) => {
14739
+ this.setupProfile = async ({ firstName = faker.faker.person.firstName(), lastName = faker.faker.person.lastName(), country, } = {}) => {
14702
14740
  await this.page
14703
14741
  .getByTestId(SIGNUP_SELECTORS.firstNameTextField)
14704
14742
  .fill(firstName);
14705
14743
  await this.page
14706
14744
  .getByTestId(SIGNUP_SELECTORS.lastNameTextField)
14707
14745
  .fill(lastName);
14746
+ country && (await this.changeCountry(country));
14708
14747
  await this.page.getByTestId(COMMON_SELECTORS.checkbox).click();
14709
14748
  const submitProfile = this.neetoPlaywrightUtilities.interceptMultipleResponses({
14710
14749
  customPageContext: this.page,
@@ -14716,10 +14755,10 @@ class OrganizationPage {
14716
14755
  await submitProfile;
14717
14756
  await test$1.expect(this.page.getByTestId(COMMON_SELECTORS.pageLoader)).toBeHidden();
14718
14757
  };
14719
- this.loginAndOnboard = async ({ email, firstName, lastName, handleOnboarding, }) => {
14758
+ this.loginAndOnboard = async ({ email, firstName, lastName, country, handleOnboarding, }) => {
14720
14759
  await this.page.goto(ROUTES.admin);
14721
14760
  await this.loginViaSSO(email);
14722
- await this.setupProfile({ firstName, lastName });
14761
+ await this.setupProfile({ firstName, lastName, country });
14723
14762
  await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
14724
14763
  waitUntil: "load",
14725
14764
  });
@@ -14788,6 +14827,13 @@ class OrganizationPage {
14788
14827
  lastName: credentials.lastName,
14789
14828
  });
14790
14829
  };
14830
+ this.changeCountry = async (country) => {
14831
+ const countrySelector = this.page.getByTestId(COMMON_SELECTORS.customSelectValueContainer(SELECT_COUNTRY));
14832
+ await countrySelector.click();
14833
+ await countrySelector.pressSequentially(country);
14834
+ await this.page.getByTestId(COMMON_SELECTORS.selectOption(country)).click();
14835
+ await test$1.expect(countrySelector).toContainText(country);
14836
+ };
14791
14837
  this.page = page;
14792
14838
  this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
14793
14839
  }
@@ -148901,7 +148947,6 @@ const definePlaywrightConfig = (overrides) => {
148901
148947
  };
148902
148948
 
148903
148949
  exports.API_ROUTES = API_ROUTES;
148904
- exports.ATTACHMENT_DELETION_TOASTR_MESSAGE = ATTACHMENT_DELETION_TOASTR_MESSAGE;
148905
148950
  exports.BASE_URL = BASE_URL;
148906
148951
  exports.CHANGELOG_WIDGET_SELECTORS = CHANGELOG_WIDGET_SELECTORS;
148907
148952
  exports.CHAT_WIDGET_SELECTORS = CHAT_WIDGET_SELECTORS;
@@ -148947,6 +148992,7 @@ exports.PROFILE_SECTION_SELECTORS = PROFILE_SECTION_SELECTORS;
148947
148992
  exports.PROJECT_TRANSLATIONS_PATH = PROJECT_TRANSLATIONS_PATH;
148948
148993
  exports.ROLES_SELECTORS = ROLES_SELECTORS;
148949
148994
  exports.ROUTES = ROUTES;
148995
+ exports.SELECT_COUNTRY = SELECT_COUNTRY;
148950
148996
  exports.SIGNUP_SELECTORS = SIGNUP_SELECTORS;
148951
148997
  exports.SINGULAR = SINGULAR;
148952
148998
  exports.SLACK_DATA_QA_SELECTORS = SLACK_DATA_QA_SELECTORS;