mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-18 11:30:39 +00:00
## Summary - Add Playwright E2E tests for `CancelSubscriptionDialogContent` and `TopUpCreditsDialogContentLegacy` - CancelSubscription tests: dialog display with date formatting, keep subscription dismiss, confirm cancel with mocked API, error handling on API failure - TopUpCredits tests: dialog display with preset amounts, insufficient credits variant, preset selection, close button dismiss, pricing link visibility Part of the FixIt Burndown test coverage initiative (Untested Dialogs). ## Test plan - [ ] Verify tests pass in CI against OSS build - [ ] `pnpm test:browser:local -- browser_tests/tests/dialogs/cancelSubscriptionDialog.spec.ts` - [ ] `pnpm test:browser:local -- browser_tests/tests/dialogs/topUpCreditsDialog.spec.ts` ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-10969-test-add-E2E-tests-for-billing-dialogs-CancelSubscription-TopUpCredits-33c6d73d36508164b268c08c99464ca1) by [Unito](https://www.unito.io)
33 lines
948 B
TypeScript
33 lines
948 B
TypeScript
import type { Locator, Page } from '@playwright/test'
|
|
|
|
import type { WorkspaceStore } from '@e2e/types/globals'
|
|
import { BaseDialog } from '@e2e/fixtures/components/BaseDialog'
|
|
|
|
export class CancelSubscriptionDialog extends BaseDialog {
|
|
readonly heading: Locator
|
|
readonly keepSubscriptionButton: Locator
|
|
readonly confirmCancelButton: Locator
|
|
|
|
constructor(page: Page) {
|
|
super(page)
|
|
this.heading = this.root.getByRole('heading', {
|
|
name: 'Cancel subscription'
|
|
})
|
|
this.keepSubscriptionButton = this.root.getByRole('button', {
|
|
name: 'Keep subscription'
|
|
})
|
|
this.confirmCancelButton = this.root.getByRole('button', {
|
|
name: 'Cancel subscription'
|
|
})
|
|
}
|
|
|
|
async open(cancelAt?: string) {
|
|
await this.page.evaluate((date) => {
|
|
void (
|
|
window.app!.extensionManager as WorkspaceStore
|
|
).dialog.showCancelSubscriptionDialog(date)
|
|
}, cancelAt)
|
|
await this.waitForVisible()
|
|
}
|
|
}
|