mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-22 21:38:52 +00:00
## Summary Add the first product-area browser coverage on top of the merged typed route mock foundation: the docked job history sidebar. ## Changes - **What**: Adds `browser_tests/tests/sidebar/jobHistory.spec.ts` using `jobsRouteFixture`. - **What**: Covers direct sidebar entry, docked QPO history entry, terminal history jobs, active queue jobs, tab filtering, search, clear queue, and clear history. - **What**: Adds typed `POST /api/queue` and `POST /api/history` route helpers that validate request bodies with generated zod schemas. - **What**: Adds stable test ids for the job history sidebar and queue progress overlay so tests avoid structural CSS selectors. - **Dependencies**: Builds on the typed route mock foundation merged in #12267. ## Review Focus Review the product assertions and whether this is the right first coverage slice on top of the typed route mock foundation. This PR intentionally avoids asset sidebar and floating QPO lifecycle coverage; those should remain follow-up PRs. ## Screenshots (if applicable) Not applicable. ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-12272-test-cover-job-history-sidebar-with-typed-route-mocks-3606d73d3650817481d5f9fac4bfc93c) by [Unito](https://www.unito.io)
27 lines
817 B
TypeScript
27 lines
817 B
TypeScript
import type { Locator, Page } from '@playwright/test'
|
|
|
|
import { comfyExpect as expect } from '@e2e/fixtures/ComfyPage'
|
|
import { TestIds } from '@e2e/fixtures/selectors'
|
|
|
|
export class QueuePanel {
|
|
readonly overlayToggle: Locator
|
|
readonly overlay: Locator
|
|
readonly moreOptionsButton: Locator
|
|
|
|
constructor(readonly page: Page) {
|
|
this.overlayToggle = page.getByTestId(TestIds.queue.overlayToggle)
|
|
this.overlay = page.getByTestId(TestIds.queue.progressOverlay)
|
|
this.moreOptionsButton = this.overlay.getByLabel(/More options/i)
|
|
}
|
|
|
|
async openClearHistoryDialog() {
|
|
await this.moreOptionsButton.click()
|
|
|
|
const clearHistoryAction = this.page.getByTestId(
|
|
TestIds.queue.clearHistoryAction
|
|
)
|
|
await expect(clearHistoryAction).toBeVisible()
|
|
await clearHistoryAction.click()
|
|
}
|
|
}
|