// TypeScript Version: 3.8 import { configure, Matcher, ByRoleMatcher, MatcherOptions as DTLMatcherOptions, ByRoleOptions as DTLByRoleOptions, SelectorMatcherOptions as DTLSelectorMatcherOptions, } from '@testing-library/dom' export interface CTLMatcherOptions extends Partial, Partial { container?: Element | JQuery } export type MatcherOptions = DTLMatcherOptions | CTLMatcherOptions export type ByRoleOptions = DTLByRoleOptions | CTLMatcherOptions export type SelectorMatcherOptions = | DTLSelectorMatcherOptions | CTLMatcherOptions declare global { namespace Cypress { // 🤔 unsure why this Subject is unused, nor what to do with it... // eslint-disable-next-line @typescript-eslint/no-unused-vars interface Chainable { /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByPlaceholderText( id: Matcher, options?: MatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByPlaceholderText( id: Matcher, options?: MatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByText( id: Matcher, options?: SelectorMatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByText( id: Matcher, options?: SelectorMatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByLabelText( id: Matcher, options?: SelectorMatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByLabelText( id: Matcher, options?: SelectorMatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByAltText(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByAltText(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByTestId(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByTestId(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByTitle(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByTitle(id: Matcher, options?: MatcherOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByDisplayValue( id: Matcher, options?: MatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByDisplayValue( id: Matcher, options?: MatcherOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findByRole(id: ByRoleMatcher, options?: ByRoleOptions): Chainable /** * dom-testing-library helpers for Cypress * * `findBy*` APIs search for an element and throw an error if nothing found * `findAllBy*` APIs search for all elements and throw an error if nothing found * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ findAllByRole( id: ByRoleMatcher, options?: ByRoleOptions, ): Chainable /** * dom-testing-library helpers for Cypress * * Configure dom-testing-library through Cypress object. Wraps `configure(config)` * * @see https://github.com/testing-library/cypress-testing-library#usage * @see https://github.com/testing-library/dom-testing-library#table-of-contents */ configureCypressTestingLibrary( config: Parameters[0], ): Chainable } } } export {configure}