| | import { type ByRoleOptions, screen } from "@testing-library/react"; |
| |
|
| | import { |
| | DayFlag, |
| | labelDayButton, |
| | labelGridcell, |
| | labelMonthDropdown, |
| | labelYearDropdown, |
| | SelectionState, |
| | } from "../src"; |
| |
|
| | |
| | export function app() { |
| | return screen.getByRole("application"); |
| | } |
| |
|
| | |
| | export function previousButton( |
| | name: ByRoleOptions["name"] = "Go to the Previous Month", |
| | ) { |
| | return screen.getByRole("button", { |
| | name, |
| | }); |
| | } |
| |
|
| | |
| | export function nextButton( |
| | name: ByRoleOptions["name"] = "Go to the Next Month", |
| | ) { |
| | return screen.getByRole("button", { |
| | name, |
| | }); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | export function columnheader(name?: ByRoleOptions["name"]) { |
| | return screen.getByRole("columnheader", { name, hidden: true }); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | export function grid(name?: ByRoleOptions["name"]) { |
| | return screen.getByRole("grid", { name }); |
| | } |
| |
|
| | |
| | export function nav() { |
| | return screen.getByRole("navigation"); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | export function dateButton(date: Date) { |
| | return screen.getByRole("button", { |
| | name: new RegExp( |
| | labelDayButton(date, { |
| | [DayFlag.disabled]: false, |
| | [DayFlag.hidden]: false, |
| | [DayFlag.outside]: false, |
| | [DayFlag.focused]: false, |
| | [DayFlag.today]: false, |
| | [SelectionState.range_end]: false, |
| | [SelectionState.range_middle]: false, |
| | [SelectionState.range_start]: false, |
| | [SelectionState.selected]: false, |
| | }), |
| | "s", |
| | ), |
| | }); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | export function gridcell(date: Date, interactive?: boolean) { |
| | if (interactive) |
| | return screen.getByRole("gridcell", { |
| | name: date.getDate().toString(), |
| | }); |
| | return screen.getByRole("gridcell", { |
| | name: labelGridcell(date), |
| | }); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | export function rowheader(name?: ByRoleOptions["name"]) { |
| | return screen.getByRole("rowheader", { name }); |
| | } |
| |
|
| | |
| | export function yearDropdown() { |
| | return screen.getByRole("combobox", { name: labelYearDropdown() }); |
| | } |
| |
|
| | |
| | export function monthDropdown() { |
| | return screen.getByRole("combobox", { name: labelMonthDropdown() }); |
| | } |
| |
|
| | |
| | export function activeElement() { |
| | if (!document.activeElement) |
| | throw new Error("Could not find any focused element"); |
| | return document.activeElement; |
| | } |
| |
|