Files
mygit/e2e/tests/public/portal-loading.test.ts
T
DuckQ1u 93d1b7c3d3
Copilot Setup Steps / copilot-setup-steps (push) Has been cancelled
first commit
2026-04-22 19:51:20 +07:00

71 lines
2.6 KiB
TypeScript

import {HomePage, SignInPage, SignUpPage} from '@/helpers/pages';
import {SettingsService} from '@/helpers/services/settings/settings-service';
import {createPaidPortalTier, expect, test} from '@/helpers/playwright';
test.describe('Portal Loading', () => {
test.describe('opened Portal', function () {
test('via Subscribe button', async ({page}) => {
const homePage = new HomePage(page);
await homePage.goto();
await homePage.openPortalViaSubscribeButton();
const signUpPage = new SignUpPage(page);
await expect(signUpPage.emailInput).toBeVisible();
await expect(signUpPage.signupButton).toBeVisible();
});
test('via Sign in link', async ({page}) => {
const homePage = new HomePage(page);
await homePage.goto();
await homePage.openPortalViaSignInLink();
const signInPage = new SignInPage(page);
await expect(signInPage.emailInput).toBeVisible();
await expect(signInPage.continueButton).toBeVisible();
});
});
test('switch between signup and sign in modes', async ({page}) => {
const homePage = new HomePage(page);
await homePage.goto();
await homePage.openPortalViaSubscribeButton();
const signUpPage = new SignUpPage(page);
await expect(signUpPage.emailInput).toBeVisible();
await expect(signUpPage.signupButton).toBeVisible();
await signUpPage.signinLink.click();
const signInPage = new SignInPage(page);
await expect(signInPage.emailInput).toBeVisible();
await expect(signInPage.continueButton).toBeVisible();
});
test.describe('signup access', () => {
test.use({stripeEnabled: true});
test('invite-only access with paid trial tier - hides free trial message', async ({page}) => {
const settingsService = new SettingsService(page.request);
await createPaidPortalTier(page.request, {
name: `Invite Only Trial Tier ${Date.now()}`,
currency: 'usd',
monthly_price: 100,
yearly_price: 1000,
trial_days: 5
});
await settingsService.setMembersSignupAccess('invite');
const homePage = new HomePage(page);
await homePage.gotoPortalSignup();
const signUpPage = new SignUpPage(page);
await signUpPage.waitForPortalToOpen();
await expect(signUpPage.inviteOnlyNotification).toHaveText(/contact the owner for access/i);
await expect(signUpPage.freeTrialNotification).toBeHidden();
});
});
});