Files
myeasycms-v2/apps/e2e/tests/team-billing/team-billing.spec.ts
giancarlo 0824ac8e9f Refactor billing process in e2e tests
Code for billing process was refactored in end-to-end tests for clean code and better structure. In the described tests, related codes and classes have been moved to a new class named BillingPageObject. All corresponding calls were updated accordingly.
2024-04-14 17:54:15 +08:00

32 lines
934 B
TypeScript

import { expect, Page, test } from '@playwright/test';
import { TeamBillingPageObject } from './team-billing.po';
import exp from 'node:constants';
test.describe('Team Billing', () => {
let page: Page;
let po: TeamBillingPageObject;
test.beforeAll(async ({ browser }) => {
page = await browser.newPage();
po = new TeamBillingPageObject(page);
await po.setup();
await po.teamAccounts.goToBilling();
});
test('a team can subscribe to a plan', async () => {
await po.billing.selectPlan(0);
await po.billing.proceedToCheckout();
await po.billing.stripe.fillForm();
await po.billing.stripe.submitForm();
await expect(po.billing.successStatus()).toBeVisible();
await po.billing.returnToHome();
await po.teamAccounts.goToBilling();
await expect(await po.billing.getStatus()).toContainText('active');
await expect(po.billing.manageBillingButton()).toBeVisible();
});
});