mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-05-02 11:37:41 +03:00
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
|
|
/**
|
||
|
|
* Review/events page object.
|
||
|
|
*
|
||
|
|
* Encapsulates severity tab, filter bar, calendar, and mobile filter
|
||
|
|
* drawer selectors. Does NOT own assertions.
|
||
|
|
*/
|
||
|
|
|
||
|
|
import type { Locator, Page } from "@playwright/test";
|
||
|
|
import { BasePage } from "./base.page";
|
||
|
|
|
||
|
|
export class ReviewPage extends BasePage {
|
||
|
|
constructor(page: Page, isDesktop: boolean) {
|
||
|
|
super(page, isDesktop);
|
||
|
|
}
|
||
|
|
|
||
|
|
get alertsTab(): Locator {
|
||
|
|
return this.page.getByLabel("Alerts");
|
||
|
|
}
|
||
|
|
|
||
|
|
get detectionsTab(): Locator {
|
||
|
|
return this.page.getByLabel("Detections");
|
||
|
|
}
|
||
|
|
|
||
|
|
get motionTab(): Locator {
|
||
|
|
return this.page.getByRole("radio", { name: "Motion" });
|
||
|
|
}
|
||
|
|
|
||
|
|
get camerasFilterTrigger(): Locator {
|
||
|
|
return this.page.getByRole("button", { name: /cameras/i }).first();
|
||
|
|
}
|
||
|
|
|
||
|
|
get calendarTrigger(): Locator {
|
||
|
|
return this.page.getByRole("button", { name: /24 hours|calendar|date/i });
|
||
|
|
}
|
||
|
|
|
||
|
|
get showReviewedToggle(): Locator {
|
||
|
|
return this.page.getByRole("button", { name: /reviewed/i });
|
||
|
|
}
|
||
|
|
|
||
|
|
get reviewItems(): Locator {
|
||
|
|
return this.page.locator(".review-item");
|
||
|
|
}
|
||
|
|
|
||
|
|
/** The filter popover content (desktop) or drawer (mobile). */
|
||
|
|
get filterOverlay(): Locator {
|
||
|
|
return this.page
|
||
|
|
.locator(
|
||
|
|
'[data-radix-popper-content-wrapper], [role="dialog"], [data-vaul-drawer]',
|
||
|
|
)
|
||
|
|
.first();
|
||
|
|
}
|
||
|
|
}
|