Files
myeasycms-v2/apps/e2e/tests/utils/billing.po.ts
giancarlo 2ff08a971d Update Zod package, improve code formatting, and add awaiting indicators
This commit includes three main changes. First, it updates the Zod library from version 3.23.4 to 3.23.5 across all relevant packages. Second, code readability has been enhanced by formatting modifications in several TypeScript files. Lastly, the user feedback on certain operations such as creating a team or charging for a payment is strengthened, by displaying an awaiting indicator until the operation is complete.
2024-04-30 13:16:51 +07:00

47 lines
1.0 KiB
TypeScript

import { Page } from '@playwright/test';
import { StripePageObject } from './stripe.po';
export class BillingPageObject {
public readonly stripe: StripePageObject;
constructor(private readonly page: Page) {
this.stripe = new StripePageObject(page);
}
plans() {
return this.page.locator('[data-test-plan]');
}
selectPlan(index: number = 0) {
const plans = this.plans();
return plans.nth(index).click();
}
manageBillingButton() {
return this.page.locator('[data-test="manage-billing-redirect-button"]');
}
successStatus() {
return this.page.locator('[data-test="payment-return-success"]');
}
async returnToBilling() {
// wait a bit for the webhook to be processed
await this.page.waitForTimeout(1000);
return this.page
.locator('[data-test="checkout-success-back-link"]')
.click();
}
proceedToCheckout() {
return this.page.click('[data-test="checkout-submit-button"]');
}
getStatus() {
return this.page.locator('[data-test="current-plan-card-status-badge"]');
}
}