Version 3 of the kit: - Radix UI replaced with Base UI (using the Shadcn UI patterns) - next-intl replaces react-i18next - enhanceAction deprecated; usage moved to next-safe-action - main layout now wrapped with [locale] path segment - Teams only mode - Layout updates - Zod v4 - Next.js 16.2 - Typescript 6 - All other dependencies updated - Removed deprecated Edge CSRF - Dynamic Github Action runner
29 lines
816 B
TypeScript
29 lines
816 B
TypeScript
import { expect, test } from '@playwright/test';
|
|
|
|
import { TeamBillingPageObject } from './team-billing.po';
|
|
|
|
test.describe('Team Billing', () => {
|
|
test('a team can subscribe to a plan', async ({ page }) => {
|
|
const po = new TeamBillingPageObject(page);
|
|
|
|
await po.teamAccounts.setup();
|
|
await po.teamAccounts.goToBilling();
|
|
|
|
await po.billing.selectPlan(0);
|
|
await po.billing.proceedToCheckout();
|
|
|
|
await po.billing.stripe.waitForForm();
|
|
await po.billing.stripe.fillForm();
|
|
await po.billing.stripe.submitForm();
|
|
|
|
await expect(po.billing.successStatus()).toBeVisible({
|
|
timeout: 20_000,
|
|
});
|
|
|
|
await po.billing.returnToBilling();
|
|
|
|
await expect(po.billing.getStatus()).toContainText('Active');
|
|
await expect(po.billing.manageBillingButton()).toBeVisible();
|
|
});
|
|
});
|