@playwright-testing-library/test
Version:
playwright + dom-testing-library
80 lines (79 loc) • 6.85 kB
TypeScript
import { Matcher, ByRoleOptions as TestingLibraryByRoleOptions, MatcherOptions as TestingLibraryMatcherOptions, SelectorMatcherOptions as TestingLibrarySelectorMatcherOptions, waitForOptions } from '@testing-library/dom';
import { ElementHandle as PlaywrightElementHandle } from "@playwright/test";
export declare type ElementHandle = PlaywrightElementHandle<SVGElement | HTMLElement>;
declare type Element = ElementHandle;
declare type MatcherOptions = Omit<TestingLibraryMatcherOptions, 'normalizer'>;
declare type SelectorMatcherOptions = Omit<TestingLibrarySelectorMatcherOptions, 'normalizer'>;
interface RoleMatcherOptions extends Omit<TestingLibraryByRoleOptions, 'name'> {
name?: string | RegExp;
}
interface SelectorRoleMatcherOptions extends SelectorMatcherOptions, RoleMatcherOptions {
}
interface QueryMethods {
queryByPlaceholderText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element | null>;
queryAllByPlaceholderText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
getByPlaceholderText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element>;
getAllByPlaceholderText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
findByPlaceholderText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByPlaceholderText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element | null>;
queryAllByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element[]>;
getByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element>;
getAllByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element[]>;
findByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element | null>;
queryAllByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element[]>;
getByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element>;
getAllByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions): Promise<Element[]>;
findByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByLabelText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByAltText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element | null>;
queryAllByAltText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
getByAltText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element>;
getAllByAltText(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
findByAltText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByAltText(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByTestId(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element | null>;
queryAllByTestId(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
getByTestId(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element>;
getAllByTestId(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
findByTestId(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByTestId(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByTitle(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element | null>;
queryAllByTitle(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
getByTitle(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element>;
getAllByTitle(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
findByTitle(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByTitle(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByRole(el: Element, m: Matcher, opts?: RoleMatcherOptions): Promise<Element | null>;
queryAllByRole(el: Element, m: Matcher, opts?: RoleMatcherOptions): Promise<Element[]>;
getByRole(el: Element, m: Matcher, opts?: RoleMatcherOptions): Promise<Element>;
getAllByRole(el: Element, m: Matcher, opts?: RoleMatcherOptions): Promise<Element[]>;
findByRole(el: Element, m: Matcher, opts?: SelectorRoleMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByRole(el: Element, m: Matcher, opts?: SelectorRoleMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
queryByDisplayValue(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element | null>;
queryAllByDisplayValue(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
getByDisplayValue(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element>;
getAllByDisplayValue(el: Element, m: Matcher, opts?: MatcherOptions): Promise<Element[]>;
findByDisplayValue(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element>;
findAllByDisplayValue(el: Element, m: Matcher, opts?: SelectorMatcherOptions, waitForOpts?: waitForOptions): Promise<Element[]>;
}
export declare type BoundFunction<T> = T extends (attribute: string, element: Element, text: infer P, options: infer Q) => infer R ? (text: P, options?: Q) => R : T extends (a1: any, text: infer P, options: infer Q, waitForOptions: infer W) => infer R ? (text: P, options?: Q, waitForOptions?: W) => R : T extends (a1: any, text: infer P, options: infer Q) => infer R ? (text: P, options?: Q) => R : never;
export declare type BoundFunctions<T> = {
[P in keyof T]: BoundFunction<T[P]>;
};
export declare type BoundQueryMethods = BoundFunctions<QueryMethods>;
export interface FixtureQueries extends BoundFunctions<QueryMethods> {
getQueriesForElement(): ScopedQueries;
getNodeText(el: Element): Promise<string>;
}
export interface ScopedQueries extends BoundFunctions<QueryMethods> {
getQueriesForElement(): ScopedQueries;
getNodeText(): Promise<string>;
}
export interface Queries extends QueryMethods {
getQueriesForElement(): ScopedQueries;
getNodeText(el: Element): Promise<string>;
}
export {};