@bigbinary/neeto-playwright-commons 4.5.0 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +104 -4
- package/index.js +78 -21
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -4379,6 +4379,7 @@ declare const DEFAULT_WEBHOOKS_RESPONSE_TEXT: string;
|
|
|
4379
4379
|
*
|
|
4380
4380
|
*/
|
|
4381
4381
|
declare const STORAGE_STATE = "./e2e/auth/user.json";
|
|
4382
|
+
declare const DEFAULT_TIMEZONE_ID = "Asia/Calcutta";
|
|
4382
4383
|
/**
|
|
4383
4384
|
*
|
|
4384
4385
|
* Pattern for global translations file path.
|
|
@@ -5152,6 +5153,7 @@ interface CreateOrganizationProps$1 extends BasicUserInfo {
|
|
|
5152
5153
|
businessName: string;
|
|
5153
5154
|
subdomainName: string;
|
|
5154
5155
|
appName: string;
|
|
5156
|
+
shouldSignupViaApi?: boolean;
|
|
5155
5157
|
}
|
|
5156
5158
|
interface LoginAndOnboardParams extends BasicUserInfo {
|
|
5157
5159
|
handleOnboarding: () => Promise<void>;
|
|
@@ -5239,7 +5241,8 @@ declare class OrganizationPage {
|
|
|
5239
5241
|
subdomainName,
|
|
5240
5242
|
firstName,
|
|
5241
5243
|
lastName,
|
|
5242
|
-
appName
|
|
5244
|
+
appName,
|
|
5245
|
+
shouldSignupViaApi
|
|
5243
5246
|
}: CreateOrganizationProps$1) => Promise<void>;
|
|
5244
5247
|
/**
|
|
5245
5248
|
*
|
|
@@ -5252,7 +5255,11 @@ declare class OrganizationPage {
|
|
|
5252
5255
|
* await organizationPage.setupOrganization("Chat")
|
|
5253
5256
|
* @endexample
|
|
5254
5257
|
*/
|
|
5255
|
-
setupOrganization: (product: string
|
|
5258
|
+
setupOrganization: (product: string, {
|
|
5259
|
+
shouldSignupViaApi
|
|
5260
|
+
}?: {
|
|
5261
|
+
shouldSignupViaApi?: boolean;
|
|
5262
|
+
}) => Promise<void>;
|
|
5256
5263
|
/**
|
|
5257
5264
|
*
|
|
5258
5265
|
* Used to update already existing subdomain name. It takes the following parameters:
|
|
@@ -5395,11 +5402,13 @@ declare class OrganizationPage {
|
|
|
5395
5402
|
signUp: ({
|
|
5396
5403
|
credentials,
|
|
5397
5404
|
fetchOtpFromEmail,
|
|
5398
|
-
appName
|
|
5405
|
+
appName,
|
|
5406
|
+
shouldSignupViaApi
|
|
5399
5407
|
}: {
|
|
5400
5408
|
credentials: Credentials;
|
|
5401
5409
|
fetchOtpFromEmail?: FetchOtpFromEmail;
|
|
5402
5410
|
appName: string;
|
|
5411
|
+
shouldSignupViaApi?: boolean;
|
|
5403
5412
|
}) => Promise<{
|
|
5404
5413
|
STORAGE_STATE: {
|
|
5405
5414
|
cookies: Array<{
|
|
@@ -9415,6 +9424,97 @@ declare const createOrganizationViaRake: ({
|
|
|
9415
9424
|
lastName,
|
|
9416
9425
|
subdomainName
|
|
9417
9426
|
}: CreateOrganizationProps) => Promise<string>;
|
|
9427
|
+
interface CreateOrganizationViaApiProps extends CreateOrganizationProps {
|
|
9428
|
+
page: Page;
|
|
9429
|
+
businessName: string;
|
|
9430
|
+
redirectUri?: string;
|
|
9431
|
+
timeZone?: string;
|
|
9432
|
+
}
|
|
9433
|
+
/**
|
|
9434
|
+
*
|
|
9435
|
+
* Creates a fully signed-up organization (org + owner + product sync) in a single
|
|
9436
|
+
*
|
|
9437
|
+
* request to neeto-auth-web's non-production POST /api/v1/internal/quick_setups
|
|
9438
|
+
*
|
|
9439
|
+
* endpoint, then navigates the page to the returned one-time-token login URL so
|
|
9440
|
+
*
|
|
9441
|
+
* the session cookie is set. Staging-only replacement for the multi-step UI
|
|
9442
|
+
*
|
|
9443
|
+
* signup flow. The request is authenticated with process.env.OTP_BYPASS_KEY
|
|
9444
|
+
*
|
|
9445
|
+
* and the email must follow the cypress bypass convention
|
|
9446
|
+
*
|
|
9447
|
+
* (cpt<key>...@bigbinary.com).
|
|
9448
|
+
*
|
|
9449
|
+
* page: A page object.
|
|
9450
|
+
*
|
|
9451
|
+
* email: The email address for the organization owner.
|
|
9452
|
+
*
|
|
9453
|
+
* firstName: The first name of the organization owner.
|
|
9454
|
+
*
|
|
9455
|
+
* lastName: The last name of the organization owner.
|
|
9456
|
+
*
|
|
9457
|
+
* businessName: The organization name.
|
|
9458
|
+
*
|
|
9459
|
+
* subdomainName: The subdomain name for the organization.
|
|
9460
|
+
*
|
|
9461
|
+
* redirectUri (optional): Bare host+path the login should land on, e.g.
|
|
9462
|
+
*
|
|
9463
|
+
* neetocal.net/admin. Omit for neetoAuth itself.
|
|
9464
|
+
*
|
|
9465
|
+
* timeZone (optional): Time zone applied to the owner's neetoAuth profile,
|
|
9466
|
+
*
|
|
9467
|
+
* mirroring what the signup form auto-detects from the browser. Defaults to
|
|
9468
|
+
*
|
|
9469
|
+
* Asia/Calcutta — the timezoneId the Playwright browsers run with.
|
|
9470
|
+
*
|
|
9471
|
+
* Staging signups performed by OrganizationPage.createOrganization,
|
|
9472
|
+
*
|
|
9473
|
+
* OrganizationPage.setupOrganization, and OrganizationPage.signUp use this
|
|
9474
|
+
*
|
|
9475
|
+
* API by default (shouldSignupViaApi defaults to true). Pass
|
|
9476
|
+
*
|
|
9477
|
+
* shouldSignupViaApi: false to fall back to the full UI signup flow (signup
|
|
9478
|
+
*
|
|
9479
|
+
* page → OTP → organization form → profile form) — useful when the signup UI
|
|
9480
|
+
*
|
|
9481
|
+
* itself is under test:
|
|
9482
|
+
*
|
|
9483
|
+
* @example
|
|
9484
|
+
*
|
|
9485
|
+
* await organizationPage.setupOrganization(PRODUCT, { shouldSignupViaApi: false });
|
|
9486
|
+
*
|
|
9487
|
+
* await organizationPage.signUp({ credentials, appName, shouldSignupViaApi: false });
|
|
9488
|
+
* @endexample
|
|
9489
|
+
* Signups with fetchOtpFromEmail always use the UI flow regardless of the
|
|
9490
|
+
*
|
|
9491
|
+
* mode, since real-mailbox emails cannot use the cypress OTP bypass.
|
|
9492
|
+
*
|
|
9493
|
+
* @example
|
|
9494
|
+
*
|
|
9495
|
+
* import { createOrganizationViaApi } from "@neetoplaywright";
|
|
9496
|
+
*
|
|
9497
|
+
* await createOrganizationViaApi({
|
|
9498
|
+
* page,
|
|
9499
|
+
* email: "cptkey+cal@bigbinary.com",
|
|
9500
|
+
* firstName: "John",
|
|
9501
|
+
* lastName: "Doe",
|
|
9502
|
+
* businessName: "myorganization",
|
|
9503
|
+
* subdomainName: "myorganization",
|
|
9504
|
+
* redirectUri: "neetocal.net/admin",
|
|
9505
|
+
* });
|
|
9506
|
+
* @endexample
|
|
9507
|
+
*/
|
|
9508
|
+
declare const createOrganizationViaApi: ({
|
|
9509
|
+
page,
|
|
9510
|
+
email,
|
|
9511
|
+
firstName,
|
|
9512
|
+
lastName,
|
|
9513
|
+
businessName,
|
|
9514
|
+
subdomainName,
|
|
9515
|
+
redirectUri,
|
|
9516
|
+
timeZone
|
|
9517
|
+
}: CreateOrganizationViaApiProps) => Promise<void>;
|
|
9418
9518
|
interface AssertColumnHeaderVisibilityProps {
|
|
9419
9519
|
page: Page;
|
|
9420
9520
|
columnName: string;
|
|
@@ -10118,5 +10218,5 @@ declare class InboundEmailApis {
|
|
|
10118
10218
|
reply: (emailParams: ReplyInboundEmailParams) => Promise<playwright_core.APIResponse | undefined>;
|
|
10119
10219
|
private deliverSource;
|
|
10120
10220
|
}
|
|
10121
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, AuditLogsPage, BASE_URL, CALENDAR_LABELS, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, NeetoAuthServer, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
10221
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, AuditLogsPage, BASE_URL, CALENDAR_LABELS, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, NeetoAuthServer, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, _default as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
10122
10222
|
export type { BaseThemeStyle, BaseThemeStyleType, ColumnMenuAction, CountryProps, CustomFixture, EmailDeliveryConnectParams, EmailDeliveryProvider, EmailDeliveryVerifiedEmail, EmailDeliveryVerifyEmailParams, EmailDeliveryVerifyEmailResponse, EmailMatchCriteria, InboundEmailParams, IntroPageThemeStyle, IntroPageThemeStyleType, OAuthEmailDeliveryProvider, ProjectName, ReplyInboundEmailParams, ThemeCategory, ValueOf };
|
package/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isPresent, keysToSnakeCase, hyphenate, isNotPresent, noop as noop$2,
|
|
1
|
+
import { isPresent, keysToSnakeCase, hyphenate, humanize, isNotPresent, noop as noop$2, findBy, dynamicArray, truncate, isNotEmpty, isNotEqualDeep, randomPick } from '@bigbinary/neeto-cist';
|
|
2
2
|
import { faker } from '@faker-js/faker';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
4
|
import fs__default, { readFileSync, promises, existsSync, writeFileSync, unlinkSync, mkdirSync, rmSync, createWriteStream } from 'fs';
|
|
@@ -310,6 +310,7 @@ const IS_DEV_ENV = process.env.TEST_ENV === ENVIRONMENT.development;
|
|
|
310
310
|
const IS_CI = isPresent(process.env.NEETO_CI_JOB_ID);
|
|
311
311
|
const DEFAULT_WEBHOOKS_RESPONSE_TEXT = JSON.stringify({ success: true });
|
|
312
312
|
const STORAGE_STATE = "./e2e/auth/user.json";
|
|
313
|
+
const DEFAULT_TIMEZONE_ID = "Asia/Calcutta";
|
|
313
314
|
const GLOBAL_TRANSLATIONS_PATTERN = "../node_modules/@bigbinary/**/translations/en.json";
|
|
314
315
|
const PROJECT_TRANSLATIONS_PATH = "../app/javascript/src/translations/en.json";
|
|
315
316
|
const CREDENTIALS = {
|
|
@@ -2796,6 +2797,34 @@ const createOrganizationViaRake = async ({ email, firstName, lastName, subdomain
|
|
|
2796
2797
|
}
|
|
2797
2798
|
return stdout.trim();
|
|
2798
2799
|
};
|
|
2800
|
+
const createOrganizationViaApi = async ({ page, email, firstName, lastName, businessName, subdomainName, redirectUri, timeZone = DEFAULT_TIMEZONE_ID, }) => {
|
|
2801
|
+
if (!process.env.OTP_BYPASS_KEY) {
|
|
2802
|
+
throw new Error("OTP_BYPASS_KEY environment variable is required to create organizations via the quick setups API.");
|
|
2803
|
+
}
|
|
2804
|
+
const response = await page.request.post(`${NEETO_AUTH_BASE_URL()}/api/v1/internal/quick_setups`, {
|
|
2805
|
+
headers: {
|
|
2806
|
+
Authorization: `Token token="${process.env.OTP_BYPASS_KEY}"`,
|
|
2807
|
+
},
|
|
2808
|
+
data: {
|
|
2809
|
+
setup: {
|
|
2810
|
+
email,
|
|
2811
|
+
first_name: firstName,
|
|
2812
|
+
last_name: lastName,
|
|
2813
|
+
organization_name: humanize(businessName),
|
|
2814
|
+
subdomain: subdomainName,
|
|
2815
|
+
redirect_uri: redirectUri,
|
|
2816
|
+
time_zone: timeZone,
|
|
2817
|
+
},
|
|
2818
|
+
},
|
|
2819
|
+
timeout: 120_000,
|
|
2820
|
+
});
|
|
2821
|
+
if (!response.ok()) {
|
|
2822
|
+
throw new Error(`Quick organization setup failed with status ${response.status()}: ${await response.text()}`);
|
|
2823
|
+
}
|
|
2824
|
+
// The OTT in the login URL expires in 150 seconds; navigate immediately.
|
|
2825
|
+
const { login_url: loginUrl } = await response.json();
|
|
2826
|
+
await page.goto(loginUrl, { timeout: 30_000 });
|
|
2827
|
+
};
|
|
2799
2828
|
|
|
2800
2829
|
//! otpauth 9.5.0 | (c) Héctor Molinero Fernández | MIT | https://github.com/hectorm/otpauth
|
|
2801
2830
|
//! noble-hashes 2.0.1 | (c) Paul Miller | MIT | https://github.com/paulmillr/noble-hashes
|
|
@@ -18028,7 +18057,7 @@ class OrganizationPage {
|
|
|
18028
18057
|
const maybeLaterButton = this.page.getByTestId(LOGIN_SELECTORS.authenticatorAppLaterButton);
|
|
18029
18058
|
(await maybeLaterButton.isVisible()) && (await maybeLaterButton.click());
|
|
18030
18059
|
};
|
|
18031
|
-
createOrganization = async ({ email, businessName, subdomainName, firstName, lastName, appName, }) => {
|
|
18060
|
+
createOrganization = async ({ email, businessName, subdomainName, firstName, lastName, appName, shouldSignupViaApi = true, }) => {
|
|
18032
18061
|
if (shouldSkipSetupAndTeardown())
|
|
18033
18062
|
return;
|
|
18034
18063
|
if (IS_DEV_ENV) {
|
|
@@ -18042,28 +18071,43 @@ class OrganizationPage {
|
|
|
18042
18071
|
}
|
|
18043
18072
|
const appNameInLowerCase = appName.toLowerCase();
|
|
18044
18073
|
const isNeetoAuth = appNameInLowerCase === "neetoauth";
|
|
18045
|
-
|
|
18046
|
-
|
|
18047
|
-
|
|
18048
|
-
|
|
18049
|
-
|
|
18050
|
-
|
|
18051
|
-
|
|
18074
|
+
if (!shouldSignupViaApi) {
|
|
18075
|
+
isNeetoAuth
|
|
18076
|
+
? await this.page.goto(ROUTES.neetoAuthSignup, { timeout: 20_000 })
|
|
18077
|
+
: await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${appNameInLowerCase}.net/admin`, { timeout: 20_000 });
|
|
18078
|
+
await this.submitEmail(email);
|
|
18079
|
+
await this.fillOTP();
|
|
18080
|
+
await this.fillOrganizationDetails({
|
|
18081
|
+
credentials: {
|
|
18082
|
+
firstName,
|
|
18083
|
+
lastName,
|
|
18084
|
+
email,
|
|
18085
|
+
currentUserName: email,
|
|
18086
|
+
businessName,
|
|
18087
|
+
subdomainName,
|
|
18088
|
+
domain: appNameInLowerCase,
|
|
18089
|
+
},
|
|
18090
|
+
appName: appNameInLowerCase,
|
|
18091
|
+
});
|
|
18092
|
+
}
|
|
18093
|
+
else {
|
|
18094
|
+
await createOrganizationViaApi({
|
|
18095
|
+
page: this.page,
|
|
18096
|
+
email,
|
|
18052
18097
|
firstName,
|
|
18053
18098
|
lastName,
|
|
18054
|
-
email,
|
|
18055
|
-
currentUserName: email,
|
|
18056
18099
|
businessName,
|
|
18057
18100
|
subdomainName,
|
|
18058
|
-
|
|
18059
|
-
|
|
18060
|
-
|
|
18061
|
-
|
|
18101
|
+
redirectUri: isNeetoAuth
|
|
18102
|
+
? undefined
|
|
18103
|
+
: `${appNameInLowerCase}.net/admin`,
|
|
18104
|
+
});
|
|
18105
|
+
}
|
|
18062
18106
|
await this.page.waitForURL(new RegExp(getGlobalUserState().domain), {
|
|
18063
18107
|
waitUntil: "load",
|
|
18064
18108
|
});
|
|
18065
18109
|
};
|
|
18066
|
-
setupOrganization = async (product) => {
|
|
18110
|
+
setupOrganization = async (product, { shouldSignupViaApi } = {}) => {
|
|
18067
18111
|
if (!IS_STAGING_ENV || shouldSkipSetupAndTeardown())
|
|
18068
18112
|
return;
|
|
18069
18113
|
const { user } = readFileSyncIfExists();
|
|
@@ -18074,6 +18118,7 @@ class OrganizationPage {
|
|
|
18074
18118
|
lastName: user.lastName,
|
|
18075
18119
|
subdomainName: user.subdomainName,
|
|
18076
18120
|
appName: `neeto${product}`,
|
|
18121
|
+
shouldSignupViaApi,
|
|
18077
18122
|
});
|
|
18078
18123
|
await this.neetoPlaywrightUtilities.waitForPageLoad({
|
|
18079
18124
|
customPageContext: this.page,
|
|
@@ -18218,7 +18263,7 @@ class OrganizationPage {
|
|
|
18218
18263
|
}
|
|
18219
18264
|
await handleOnboarding();
|
|
18220
18265
|
};
|
|
18221
|
-
signUp = async ({ credentials, fetchOtpFromEmail, appName, }) => {
|
|
18266
|
+
signUp = async ({ credentials, fetchOtpFromEmail, appName, shouldSignupViaApi = true, }) => {
|
|
18222
18267
|
if (IS_DEV_ENV) {
|
|
18223
18268
|
await createOrganizationViaRake({
|
|
18224
18269
|
email: credentials.email,
|
|
@@ -18232,7 +18277,7 @@ class OrganizationPage {
|
|
|
18232
18277
|
loginPath: `${baseURLGenerator(appName, credentials.subdomainName)}${ROUTES.admin}`,
|
|
18233
18278
|
});
|
|
18234
18279
|
}
|
|
18235
|
-
else {
|
|
18280
|
+
else if (fetchOtpFromEmail !== undefined || !shouldSignupViaApi) {
|
|
18236
18281
|
let otp = "123456";
|
|
18237
18282
|
await this.page.goto(`${ROUTES.neetoAuthSignup}?redirect_uri=${credentials.domain}`, { timeout: 20_000 });
|
|
18238
18283
|
await this.submitEmail(credentials.email);
|
|
@@ -18249,6 +18294,18 @@ class OrganizationPage {
|
|
|
18249
18294
|
});
|
|
18250
18295
|
await this.page.waitForURL(new RegExp(credentials.domain));
|
|
18251
18296
|
}
|
|
18297
|
+
else {
|
|
18298
|
+
await createOrganizationViaApi({
|
|
18299
|
+
page: this.page,
|
|
18300
|
+
email: credentials.email,
|
|
18301
|
+
firstName: credentials.firstName,
|
|
18302
|
+
lastName: credentials.lastName,
|
|
18303
|
+
businessName: credentials.businessName,
|
|
18304
|
+
subdomainName: credentials.subdomainName,
|
|
18305
|
+
redirectUri: credentials.domain,
|
|
18306
|
+
});
|
|
18307
|
+
await this.page.waitForURL(new RegExp(credentials.domain));
|
|
18308
|
+
}
|
|
18252
18309
|
const STORAGE_STATE = await this.page.context().storageState();
|
|
18253
18310
|
return { STORAGE_STATE, baseURL: process.env.BASE_URL };
|
|
18254
18311
|
};
|
|
@@ -122145,7 +122202,7 @@ class TagsPage {
|
|
|
122145
122202
|
await this.page
|
|
122146
122203
|
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersBarClearButton)
|
|
122147
122204
|
.click();
|
|
122148
|
-
await this.page.getByTestId(
|
|
122205
|
+
await this.page.getByTestId(COMMON_SELECTORS.filterButon).click();
|
|
122149
122206
|
await this.page
|
|
122150
122207
|
.getByTestId(NEETO_FILTERS_SELECTORS.neetoFiltersNameFilterField)
|
|
122151
122208
|
.fill(tagName);
|
|
@@ -126950,7 +127007,7 @@ const definePlaywrightConfig = (overrides) => {
|
|
|
126950
127007
|
screenshot: "only-on-failure",
|
|
126951
127008
|
navigationTimeout: 35_000,
|
|
126952
127009
|
actionTimeout: 10 * 1000,
|
|
126953
|
-
timezoneId:
|
|
127010
|
+
timezoneId: DEFAULT_TIMEZONE_ID,
|
|
126954
127011
|
geolocation: { latitude: 18.553187, longitude: 73.948313 }, // BB Pune office
|
|
126955
127012
|
permissions: ["geolocation"],
|
|
126956
127013
|
...useOverrides,
|
|
@@ -127101,4 +127158,4 @@ class InboundEmailApis {
|
|
|
127101
127158
|
};
|
|
127102
127159
|
}
|
|
127103
127160
|
|
|
127104
|
-
export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, AuditLogsPage, BASE_URL, CALENDAR_LABELS, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, NeetoAuthServer, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
|
127161
|
+
export { ACTIONS, ADMIN_PANEL_SELECTORS, ALL_RESOURCES, ANALYTICS_RESOURCES, API_KEYS_SELECTORS, API_ROUTES, APP_RESOURCES, AUDIT_LOGS_SELECTORS, ApiKeysApi, ApiKeysPage, ApiKeysPageV2, AuditLogsPage, BASE_URL, CALENDAR_LABELS, CERTIFICATE_LIMIT_EXCEEDED_MESSAGE, CERTIFICATE_LIMIT_EXCEEDED_REGEXP, CHANGELOG_WIDGET_SELECTORS, CHAT_WIDGET_SELECTORS, CHAT_WIDGET_TEXTS, COLOR, COMMON_SELECTORS, COMMON_TEXTS, COMMUNITY_TEXTS, CREDENTIALS, CURRENT_TIME_RANGES, CUSTOM_DOMAIN_SELECTORS, CUSTOM_DOMAIN_SUFFIX, ColorPickerUtils, CustomCommands, CustomCommandsV2, CustomDomainApi, CustomDomainPage, DATE_FORMATS, DATE_PICKER_SELECTORS, DATE_RANGES, DATE_TEXTS, DEFAULT_TIMEZONE_ID, DEFAULT_WEBHOOKS_RESPONSE_TEXT, DESCRIPTION_EDITOR_TEXTS, EDITOR_VERIFY_TEXT_COLOR, EMBED_SELECTORS, EMOJI_LABEL, EMPTY_STORAGE_STATE, ENGAGE_TEXTS, ENVIRONMENT, EXAMPLE_URL, EXPANDED_FONT_SIZE, EXPORT_FILE_TYPES, EditorPage, EmailDeliveryUtils, EmbedBase, FILE_FORMATS, FONTS_RESOURCES, FONT_SIZE_SELECTORS, FROM_EMAIL_ENV_KEYS, GLOBAL_TRANSLATIONS_PATTERN, GOOGLE_ANALYTICS_SELECTORS, GOOGLE_CALENDAR_DATE_FORMAT, GOOGLE_LOGIN_SELECTORS, GOOGLE_LOGIN_TEXTS, GOOGLE_SHEETS_SELECTORS, GooglePage, HELP_CENTER_ROUTES, HELP_CENTER_SELECTORS, HelpAndProfilePage, HelpAndProfilePageV2, INTEGRATIONS_TEXTS, INTEGRATION_SELECTORS, IPRestrictionsPage, IP_RESTRICTIONS_SELECTORS, IS_CI, IS_DEV_ENV, IS_MAILPIT_ENABLED, IS_STAGING_ENV, ImageUploader, InboundEmailApis, IntegrationBase, IpRestrictionsApi, KEYBOARD_SHORTCUTS_SELECTORS, KEYBOARD_SHORTCUT_TEST_CASES, LIST_MODIFIER_SELECTORS, LIST_MODIFIER_TAGS, LOGIN_SELECTORS, MAILPIT_BASE_URL, MAILPIT_DOMAIN_NAME, MEMBER_FORM_SELECTORS, MEMBER_SELECTORS, MEMBER_TEXTS, MERGE_TAGS_SELECTORS, MICROSOFT_LOGIN_SELECTORS, MICROSOFT_LOGIN_TEXTS, MailerUtils, MailpitApi, Member, MemberApis, MicrosoftPage, NEETO_AUTH_BASE_URL, NEETO_EDITOR_SELECTORS, NEETO_FILTERS_SELECTORS, NEETO_IMAGE_UPLOADER_SELECTORS, NEETO_ROUTES, NEETO_SEO_SELECTORS, NEETO_TEXT_MODIFIER_SELECTORS, NeetoAuthServer, NeetoChatWidget, NeetoEmailDeliveryApi, NeetoTowerApi, ONBOARDING_SELECTORS, ORGANIZATION_TEXTS, OTP_EMAIL_PATTERN, OrganizationPage, PAST_TIME_RANGES, PHONE_NUMBER_FORMATS, PLURAL, PRODUCT_ROLES_ROUTE_MAP, PROFILE_LINKS, PROFILE_SECTION_SELECTORS, PROJECT_NAMES, PROJECT_TRANSLATIONS_PATH, ROLES_SELECTORS, ROUTES, RailsEmailApiClient, RailsEmailUtils, RoleApis, RolesPage, RolesPageV2, SIGNUP_SELECTORS, SINGULAR, SLACK_DATA_QA_SELECTORS, SLACK_DEFAULT_CHANNEL, SLACK_SELECTORS, SLACK_WEB_TEXTS, STATUS_TEXTS, STORAGE_STATE, SecurityApi, SidebarSection, SlackApi, SlackPage, TABLE_SELECTORS, TAB_SELECTORS, TAGS_SELECTORS, TEAM_MEMBER_TEXTS, TEXT_MODIFIER_ROLES, TEXT_MODIFIER_SELECTORS, TEXT_MODIFIER_TAGS, THANK_YOU_SELECTORS, THEMES_SELECTORS, THEMES_TEXTS, THIRD_PARTY_RESOURCES, THIRD_PARTY_ROUTES, TIME_RANGES, TOASTR_MESSAGES, TWILIO_SELECTORS, TagsApi, TagsPage, TeamMembers, TeamMembersV2, ThankYouApi, ThankYouPage, TwilioApi, USER_AGENTS, WEBHOOK_SELECTORS, WebhookSiteApi, WebhooksPage, ZAPIER_LIMIT_EXHAUSTED_MESSAGE, ZAPIER_SELECTORS, ZAPIER_TEST_EMAIL, ZAPIER_TEST_EMAIL_V2, ZAPIER_WEB_TEXTS, ZapierPage, authenticateUser, baseURLGenerator, basicHTMLContent, clearCredentials, commands, cpuThrottlingUsingCDP, createOrganizationViaApi, createOrganizationViaRake, currencyUtils, dataQa, decodeQRCodeFromFile, definePlaywrightConfig, executeWithThrottledResources, extractSubdomainFromError, filterUtils, fixedMenuSelector, generatePhoneNumber, generatePhoneNumberDetails, generateRandomBypassEmail, generateRandomFile, generateStagingData, getByDataQA, getClipboardContent, getDirname, getFormattedPhoneNumber, getFullUrl, getGlobalUserProps, getGlobalUserState, getImagePathAndName, getIsoCodeFromPhoneCode, getListCount, globalShortcuts, grantClipboardPermissions, hexToRGB, hexToRGBA, i18nFixture, imageRegex, initializeCredentials, initializeTestData, initializeTotp, isGithubIssueOpen, isStagingOrganizationExpired, joinHyphenCase, joinString, login, mailpitDomainName, networkConditions, networkThrottlingUsingCDP, optionSelector, readFileAsBrowserFile, readFileSyncIfExists, removeCredentialFile, serializeFileForBrowser, shouldSkipCustomDomainSetup, shouldSkipSetupAndTeardown, simulateClickWithDelay, simulateTypingWithDelay, skipTest, squish, stealth as stealthTest, tableUtils, toCamelCase, updateCredentials, warmup, withCookieCache, writeDataToFile };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-playwright-commons",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.0",
|
|
4
4
|
"description": "A package encapsulating common playwright code across neeto projects.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-playwright-commons.git",
|
|
6
6
|
"license": "apache-2.0",
|