@bigbinary/neeto-playwright-commons 1.8.45 → 1.8.47

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.d.ts CHANGED
@@ -356,14 +356,26 @@ declare class ZapierPage extends IntegrationBase {
356
356
  disconnectAndVerify: () => Promise<void>;
357
357
  }
358
358
 
359
- interface CreateOrganizationProps {
359
+ interface BasicUserInfo {
360
+ firstName: string;
361
+ lastName: string;
360
362
  email: string;
363
+ }
364
+ interface CreateOrganizationProps extends BasicUserInfo {
361
365
  businessName: string;
362
366
  subdomainName: string;
363
- firstName: string;
364
- lastName: string;
365
367
  appName: string;
366
368
  }
369
+ interface LoginAndOnboardParams extends BasicUserInfo {
370
+ handleOnboarding: () => Promise<void>;
371
+ }
372
+ interface Credentials extends BasicUserInfo {
373
+ otp?: number;
374
+ domain: string;
375
+ currentUserName: string;
376
+ businessName: string;
377
+ subdomainName: string;
378
+ }
367
379
  declare class OrganizationPage {
368
380
  page: Page;
369
381
  neetoPlaywrightUtilities: CustomCommands;
@@ -372,6 +384,45 @@ declare class OrganizationPage {
372
384
  createOrganization: ({ email, businessName, subdomainName, firstName, lastName, appName, }: CreateOrganizationProps) => Promise<void>;
373
385
  setupOrganization: (product: string) => Promise<void>;
374
386
  updateSubdomainIfExists: (appName: string) => Promise<void>;
387
+ loginViaSSO: (email?: string) => Promise<void>;
388
+ setupProfile: ({ firstName, lastName, }?: {
389
+ firstName?: string | undefined;
390
+ lastName?: string | undefined;
391
+ }) => Promise<void>;
392
+ loginAndOnboard: ({ email, firstName, lastName, handleOnboarding, }: LoginAndOnboardParams) => Promise<void>;
393
+ signUp: ({ credentials, fetchOtpFromEmail, appName, }: {
394
+ credentials: Credentials;
395
+ fetchOtpFromEmail?: ((params: {
396
+ email: string;
397
+ timeout: number;
398
+ }) => Promise<string>) | undefined;
399
+ appName: string;
400
+ }) => Promise<{
401
+ STORAGE_STATE: {
402
+ cookies: {
403
+ name: string;
404
+ value: string;
405
+ domain: string;
406
+ path: string;
407
+ expires: number;
408
+ httpOnly: boolean;
409
+ secure: boolean;
410
+ sameSite: "Strict" | "Lax" | "None";
411
+ }[];
412
+ origins: {
413
+ origin: string;
414
+ localStorage: {
415
+ name: string;
416
+ value: string;
417
+ }[];
418
+ }[];
419
+ };
420
+ baseURL: string | undefined;
421
+ }>;
422
+ fillOrganizationDetails: ({ credentials, appName, }: {
423
+ credentials: Credentials;
424
+ appName: string;
425
+ }) => Promise<void>;
375
426
  }
376
427
 
377
428
  declare class SidebarSection {
@@ -413,6 +464,7 @@ declare const ROUTES: {
413
464
  neetoAuth: string;
414
465
  loginLink: string;
415
466
  profile: string;
467
+ admin: string;
416
468
  myProfile: string;
417
469
  authSettings: string;
418
470
  webhooks: string;
@@ -523,6 +575,7 @@ declare const COMMON_SELECTORS: {
523
575
  header: string;
524
576
  sidebarSubLink: (label: string) => string;
525
577
  sidebarGoBackButton: (label: string) => string;
578
+ selectSingleValue: string;
526
579
  };
527
580
 
528
581
  declare const NEETO_EDITOR_SELECTORS: {
@@ -982,6 +1035,10 @@ declare const executeWithThrottledResources: ({ code: emulatedCode, kind, networ
982
1035
  declare const basicHTMLContent: (content: string) => string;
983
1036
  declare const hexToRGB: (hex: string) => string;
984
1037
 
1038
+ declare const filterUtils: {
1039
+ openFilterPane: (page: Page) => Promise<void>;
1040
+ };
1041
+
985
1042
  interface CurrentsOverrides {
986
1043
  projectId: string;
987
1044
  }
@@ -994,4 +1051,4 @@ interface Overrides {
994
1051
  }
995
1052
  declare const definePlaywrightConfig: (overrides: Overrides) => _playwright_test.PlaywrightTestConfig<{}, {}>;
996
1053
 
997
- export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, type CustomFixture, EMBED_SELECTORS, ENVIRONMENT, EmbedBase, GLOBAL_TRANSLATIONS_PATTERN, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SIGNUP_SELECTORS, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAGS_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, USER_AGENTS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, headerUtils, hexToRGB, hyphenize, i18nFixture, initializeCredentials, initializeTotp, joinHyphenCase, joinString, login, loginWithoutSSO, memberUtils, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, shouldSkipSetupAndTeardown, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
1054
+ export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, type CustomFixture, EMBED_SELECTORS, ENVIRONMENT, EmbedBase, GLOBAL_TRANSLATIONS_PATTERN, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SIGNUP_SELECTORS, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAGS_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, USER_AGENTS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, headerUtils, hexToRGB, hyphenize, i18nFixture, initializeCredentials, initializeTotp, joinHyphenCase, joinString, login, loginWithoutSSO, memberUtils, networkConditions, networkThrottlingUsingCDP, readFileSyncIfExists, removeCredentialFile, shouldSkipSetupAndTeardown, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, writeDataToFile };
package/index.js CHANGED
@@ -204,6 +204,7 @@ const COMMON_SELECTORS = {
204
204
  header: "neeto-molecules-header",
205
205
  sidebarSubLink: (label) => `${hyphenize(label)}-sub-link`,
206
206
  sidebarGoBackButton: (label) => `${hyphenize(label)}-go-back-button`,
207
+ selectSingleValue: "select-single-value",
207
208
  };
208
209
 
209
210
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -12378,7 +12379,7 @@ class EmbedBase {
12378
12379
  await expect(popUpButton).toBeVisible();
12379
12380
  await popUpButton.click();
12380
12381
  await expect(this.embedTestPage.locator(EMBED_SELECTORS.loader(this.appName))).toBeHidden({
12381
- timeout: 10000,
12382
+ timeout: 40000,
12382
12383
  });
12383
12384
  };
12384
12385
  this.copyEmbedScript = async ({ embedLabel }) => {
@@ -12522,6 +12523,7 @@ const ROUTES = {
12522
12523
  neetoAuth: NEETO_AUTH_BASE_URL(),
12523
12524
  loginLink: "/login",
12524
12525
  profile: "/profile",
12526
+ admin: "/admin",
12525
12527
  myProfile: "/my/profile",
12526
12528
  authSettings: "/settings",
12527
12529
  webhooks: "/webhooks",
@@ -13446,6 +13448,18 @@ class ZapierPage extends IntegrationBase {
13446
13448
  }
13447
13449
  }
13448
13450
 
13451
+ const LOGIN_SELECTORS = {
13452
+ appleAuthenticationButton: "apple-authentication-button",
13453
+ emailTextField: "login-email-text-field",
13454
+ googleAuthenticationButton: "google-authentication-button",
13455
+ githubAuthenticationButton: "github-authentication-button",
13456
+ loginViaEmailButton: "login-via-email-button",
13457
+ passwordTextField: "login-password-text-field",
13458
+ rememberMeCheckBox: "login-remember-me-check-box",
13459
+ submitButton: "login-submit-button",
13460
+ twitterAuthenticationButton: "twitter-authentication-button",
13461
+ };
13462
+
13449
13463
  const SIGNUP_SELECTORS = {
13450
13464
  emailTextField: "signup-email-text-field",
13451
13465
  firstNameTextField: "signup-profile-first-name-text-field",
@@ -13462,6 +13476,29 @@ const SIGNUP_SELECTORS = {
13462
13476
  unregisterdEmailError: "unregisterd-email-error",
13463
13477
  };
13464
13478
 
13479
+ const loginWithoutSSO = async ({ page, neetoPlaywrightUtilities, loginPath = "/", }) => {
13480
+ if (shouldSkipSetupAndTeardown())
13481
+ return;
13482
+ await page.goto(loginPath);
13483
+ await page.getByTestId("login-email-text-field").fill(CREDENTIALS.email);
13484
+ await page
13485
+ .getByTestId("login-password-text-field")
13486
+ .fill(CREDENTIALS.password);
13487
+ const login = neetoPlaywrightUtilities.interceptMultipleResponses({
13488
+ times: 1,
13489
+ });
13490
+ await page.getByTestId(LOGIN_SELECTORS.submitButton).click();
13491
+ await login;
13492
+ const userCredentials = readFileSyncIfExists();
13493
+ await page.context().storageState({ path: STORAGE_STATE });
13494
+ const mergedCredentials = mergeAll([readFileSyncIfExists(), userCredentials]);
13495
+ writeDataToFile(JSON.stringify(mergedCredentials, null, 2));
13496
+ updateCredentials({ key: "isLoggedIn", value: "true" });
13497
+ };
13498
+ const login = async ({ page, neetoPlaywrightUtilities, loginPath, }) => !IS_STAGING_ENV &&
13499
+ (await loginWithoutSSO({ page, neetoPlaywrightUtilities, loginPath }));
13500
+ const generateRandomBypassEmail = () => `cpt${process.env.OTP_BYPASS_KEY}+${faker.number.int()}@bigbinary.com`;
13501
+
13465
13502
  const extractSubdomainFromError = (errorString) => {
13466
13503
  const regex = /cpt[a-zA-Z0-9-]+/g;
13467
13504
  const matches = errorString.match(regex);
@@ -13494,47 +13531,18 @@ class OrganizationPage {
13494
13531
  await this.page.getByTestId(SIGNUP_SELECTORS.submitButton).click();
13495
13532
  await signup;
13496
13533
  await this.page.getByTestId(SIGNUP_SELECTORS.otpTextBox).fill(defaultOtp);
13497
- await this.page
13498
- .getByTestId(SIGNUP_SELECTORS.organizationNameTextField)
13499
- .fill(businessName);
13500
- const fetchSubdomainAvailability = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13501
- responseUrl: ROUTES.subdomainAvailability,
13502
- timeout: 60 * 1000,
13503
- baseUrl: NEETO_AUTH_BASE_URL(),
13504
- });
13505
- await this.page
13506
- .getByTestId(SIGNUP_SELECTORS.subdomainNameTextField)
13507
- .fill(subdomainName);
13508
- await fetchSubdomainAvailability;
13509
- const subdomainError = this.page.getByTestId(SIGNUP_SELECTORS.subdomainError);
13510
- const subdomainErrorCount = await subdomainError.count();
13511
- if (subdomainErrorCount !== 0) {
13512
- await this.updateSubdomainIfExists(appNameInLowerCase);
13513
- }
13514
- const fetchProfile = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13515
- times: 2,
13516
- timeout: 60 * 1000,
13517
- baseUrl: NEETO_AUTH_BASE_URL(),
13518
- });
13519
- await this.page
13520
- .getByTestId(SIGNUP_SELECTORS.organizationSubmitButton)
13521
- .click();
13522
- await fetchProfile;
13523
- await this.page.waitForURL(`**${ROUTES.profile}`, { timeout: 60 * 1000 });
13524
- await this.page
13525
- .getByTestId(SIGNUP_SELECTORS.firstNameTextField)
13526
- .fill(firstName);
13527
- await this.page
13528
- .getByTestId(SIGNUP_SELECTORS.lastNameTextField)
13529
- .fill(lastName);
13530
- await this.page.getByTestId(COMMON_SELECTORS.checkbox).click();
13531
- const submitProfile = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13532
- responseUrl: ROUTES.signup,
13533
- timeout: 1000 * 60,
13534
- baseUrl: NEETO_AUTH_BASE_URL(),
13534
+ await this.fillOrganizationDetails({
13535
+ credentials: {
13536
+ firstName,
13537
+ lastName,
13538
+ email,
13539
+ currentUserName: email,
13540
+ businessName,
13541
+ subdomainName,
13542
+ domain: appNameInLowerCase,
13543
+ },
13544
+ appName: appNameInLowerCase,
13535
13545
  });
13536
- await this.page.getByTestId(SIGNUP_SELECTORS.profileSubmitButton).click();
13537
- await submitProfile;
13538
13546
  await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
13539
13547
  waitUntil: "load",
13540
13548
  });
@@ -13603,6 +13611,106 @@ class OrganizationPage {
13603
13611
  }
13604
13612
  }
13605
13613
  };
13614
+ this.loginViaSSO = async (email = generateRandomBypassEmail()) => {
13615
+ await this.page.getByTestId(LOGIN_SELECTORS.emailTextField).fill(email);
13616
+ await expect(async () => {
13617
+ await this.page.getByTestId(LOGIN_SELECTORS.submitButton).click();
13618
+ await expect(this.page.getByTestId(SIGNUP_SELECTORS.unregisterdEmailError)).toBeHidden();
13619
+ }).toPass({ timeout: 15000 });
13620
+ await this.page
13621
+ .getByTestId(SIGNUP_SELECTORS.otpTextBox)
13622
+ .fill(faker.string.numeric(6));
13623
+ };
13624
+ this.setupProfile = async ({ firstName = faker.person.firstName(), lastName = faker.person.lastName(), } = {}) => {
13625
+ await this.page
13626
+ .getByTestId(SIGNUP_SELECTORS.firstNameTextField)
13627
+ .fill(firstName);
13628
+ await this.page
13629
+ .getByTestId(SIGNUP_SELECTORS.lastNameTextField)
13630
+ .fill(lastName);
13631
+ await this.page.getByTestId(COMMON_SELECTORS.checkbox).click();
13632
+ const submitProfile = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13633
+ customPageContext: this.page,
13634
+ responseUrl: ROUTES.signup,
13635
+ baseUrl: NEETO_AUTH_BASE_URL(),
13636
+ timeout: 60000,
13637
+ });
13638
+ await this.page.getByTestId(SIGNUP_SELECTORS.profileSubmitButton).click();
13639
+ await submitProfile;
13640
+ await expect(this.page.getByTestId(COMMON_SELECTORS.pageLoader)).toBeHidden();
13641
+ };
13642
+ this.loginAndOnboard = async ({ email, firstName, lastName, handleOnboarding, }) => {
13643
+ await this.page.goto(ROUTES.admin);
13644
+ await this.loginViaSSO(email);
13645
+ await this.setupProfile({ firstName, lastName });
13646
+ await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
13647
+ waitUntil: "load",
13648
+ });
13649
+ await handleOnboarding();
13650
+ };
13651
+ this.signUp = async ({ credentials, fetchOtpFromEmail, appName, }) => {
13652
+ let otp = "123456";
13653
+ await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`);
13654
+ await this.page
13655
+ .getByTestId(SIGNUP_SELECTORS.emailTextField)
13656
+ .fill(credentials.email);
13657
+ const signup = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13658
+ responseUrl: ROUTES.signup,
13659
+ timeout: 60 * 1000,
13660
+ baseUrl: NEETO_AUTH_BASE_URL(),
13661
+ });
13662
+ await this.page.getByTestId(SIGNUP_SELECTORS.submitButton).click();
13663
+ await signup;
13664
+ if (fetchOtpFromEmail !== undefined) {
13665
+ otp = await fetchOtpFromEmail({
13666
+ email: credentials.email,
13667
+ timeout: 4 * 60 * 1000,
13668
+ });
13669
+ }
13670
+ await this.page.getByTestId(SIGNUP_SELECTORS.otpTextBox).fill(otp);
13671
+ await this.fillOrganizationDetails({
13672
+ credentials,
13673
+ appName,
13674
+ });
13675
+ await this.page.waitForURL(new RegExp(credentials.domain));
13676
+ const STORAGE_STATE = await this.page.context().storageState();
13677
+ return { STORAGE_STATE, baseURL: process.env.BASE_URL };
13678
+ };
13679
+ this.fillOrganizationDetails = async ({ credentials, appName, }) => {
13680
+ await this.page
13681
+ .getByTestId(SIGNUP_SELECTORS.organizationNameTextField)
13682
+ .fill(credentials.businessName);
13683
+ const fetchSubdomainAvailability = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13684
+ responseUrl: ROUTES.subdomainAvailability,
13685
+ timeout: 60 * 1000,
13686
+ baseUrl: NEETO_AUTH_BASE_URL(),
13687
+ });
13688
+ await this.page
13689
+ .getByTestId(SIGNUP_SELECTORS.subdomainNameTextField)
13690
+ .fill(credentials.subdomainName);
13691
+ await fetchSubdomainAvailability;
13692
+ const subdomainError = this.page.getByTestId(SIGNUP_SELECTORS.subdomainError);
13693
+ const subdomainErrorCount = await subdomainError.count();
13694
+ if (subdomainErrorCount !== 0) {
13695
+ await this.updateSubdomainIfExists(appName);
13696
+ }
13697
+ const fetchProfile = this.neetoPlaywrightUtilities.interceptMultipleResponses({
13698
+ times: 2,
13699
+ timeout: 60 * 1000,
13700
+ baseUrl: NEETO_AUTH_BASE_URL(),
13701
+ });
13702
+ await this.page
13703
+ .getByTestId(SIGNUP_SELECTORS.organizationSubmitButton)
13704
+ .click();
13705
+ await fetchProfile;
13706
+ await this.page.waitForURL(`**${ROUTES.profile}`, {
13707
+ timeout: 60 * 1000,
13708
+ });
13709
+ await this.setupProfile({
13710
+ firstName: credentials.firstName,
13711
+ lastName: credentials.lastName,
13712
+ });
13713
+ };
13606
13714
  this.page = page;
13607
13715
  this.neetoPlaywrightUtilities = neetoPlaywrightUtilities;
13608
13716
  }
@@ -13686,18 +13794,6 @@ const NEETO_FILTERS_SELECTORS = {
13686
13794
  paneModalCrossIcon: "neeto-filters-close-button",
13687
13795
  };
13688
13796
 
13689
- const LOGIN_SELECTORS = {
13690
- appleAuthenticationButton: "apple-authentication-button",
13691
- emailTextField: "login-email-text-field",
13692
- googleAuthenticationButton: "google-authentication-button",
13693
- githubAuthenticationButton: "github-authentication-button",
13694
- loginViaEmailButton: "login-via-email-button",
13695
- passwordTextField: "login-password-text-field",
13696
- rememberMeCheckBox: "login-remember-me-check-box",
13697
- submitButton: "login-submit-button",
13698
- twitterAuthenticationButton: "twitter-authentication-button",
13699
- };
13700
-
13701
13797
  const MEMBER_SELECTORS = {
13702
13798
  membersTab: "members-nav-tab",
13703
13799
  newButton: "ntm-add-member-button",
@@ -13801,29 +13897,6 @@ const initializeCredentials = (product) => {
13801
13897
  }
13802
13898
  };
13803
13899
 
13804
- const loginWithoutSSO = async ({ page, neetoPlaywrightUtilities, loginPath = "/", }) => {
13805
- if (shouldSkipSetupAndTeardown())
13806
- return;
13807
- await page.goto(loginPath);
13808
- await page.getByTestId("login-email-text-field").fill(CREDENTIALS.email);
13809
- await page
13810
- .getByTestId("login-password-text-field")
13811
- .fill(CREDENTIALS.password);
13812
- const login = neetoPlaywrightUtilities.interceptMultipleResponses({
13813
- times: 1,
13814
- });
13815
- await page.getByTestId(LOGIN_SELECTORS.submitButton).click();
13816
- await login;
13817
- const userCredentials = readFileSyncIfExists();
13818
- await page.context().storageState({ path: STORAGE_STATE });
13819
- const mergedCredentials = mergeAll([readFileSyncIfExists(), userCredentials]);
13820
- writeDataToFile(JSON.stringify(mergedCredentials, null, 2));
13821
- updateCredentials({ key: "isLoggedIn", value: "true" });
13822
- };
13823
- const login = async ({ page, neetoPlaywrightUtilities, loginPath, }) => !IS_STAGING_ENV &&
13824
- (await loginWithoutSSO({ page, neetoPlaywrightUtilities, loginPath }));
13825
- const generateRandomBypassEmail = () => `cpt${process.env.OTP_BYPASS_KEY}+${faker.number.int()}@bigbinary.com`;
13826
-
13827
13900
  const addMemberViaRequest = ({ email, role = MEMBER_TEXTS.agent, appName, neetoPlaywrightUtilities, }) => neetoPlaywrightUtilities.apiRequest({
13828
13901
  method: "post",
13829
13902
  url: API_ROUTES.teamMembers.index,
@@ -146792,6 +146865,14 @@ const executeWithThrottledResources = async ({ code: emulatedCode, kind = "both"
146792
146865
  await cpuThrottlingUsingCDP({ cdpSession, rate: 1 });
146793
146866
  };
146794
146867
 
146868
+ const openFilterPane = async (page) => {
146869
+ await page.getByTestId(NEETO_FILTERS_SELECTORS.filterButton).click();
146870
+ await expect(page.getByTestId(COMMON_SELECTORS.paneHeader)).toHaveText(getI18nInstance().t("neetoFilters.common.filters"));
146871
+ };
146872
+ const filterUtils = {
146873
+ openFilterPane,
146874
+ };
146875
+
146795
146876
  var main$2 = {exports: {}};
146796
146877
 
146797
146878
  var name = "dotenv";
@@ -147391,5 +147472,5 @@ const definePlaywrightConfig = (overrides) => {
147391
147472
  });
147392
147473
  };
147393
147474
 
147394
- export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, EMBED_SELECTORS, ENVIRONMENT, EmbedBase, GLOBAL_TRANSLATIONS_PATTERN, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SIGNUP_SELECTORS, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAGS_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, USER_AGENTS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, 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 };
147475
+ export { API_ROUTES, BASE_URL, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COMMON_SELECTORS, CREDENTIALS, CustomCommands, EMBED_SELECTORS, ENVIRONMENT, EmbedBase, GLOBAL_TRANSLATIONS_PATTERN, HELP_CENTER_SELECTORS, HelpAndProfilePage, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IS_STAGING_ENV, IntegrationBase, KEYBOARD_SHORTCUTS_SELECTORS, LOGIN_SELECTORS, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MailosaurUtils, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, OTP_EMAIL_PATTERN, OrganizationPage, PROFILE_SECTION_SELECTORS, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, SIGNUP_SELECTORS, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STORAGE_STATE, SidebarSection, SlackPage, TAGS_SELECTORS, THIRD_PARTY_ROUTES, TOASTR_MESSAGES, USER_AGENTS, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_WEB_TEXTS, ZapierPage, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, generateRandomBypassEmail, generateStagingData, getByDataQA, getGlobalUserState, 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 };
147395
147476
  //# sourceMappingURL=index.js.map