Skip to content

Commit c9f081e

Browse files
committed
feat(fixture): expose unofficial queriesFor helper
(until we have an official API for \`Locator\` queries that doesn't require a **@playwright/test** fixture)
1 parent cca728e commit c9f081e

File tree

3 files changed

+24
-6
lines changed

3 files changed

+24
-6
lines changed

lib/fixture/index.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
installTestingLibraryFixture,
88
queriesFixture as locatorQueriesFixture,
99
options,
10+
queriesFor,
1011
registerSelectorsFixture,
1112
withinFixture,
1213
} from './locator'
@@ -35,9 +36,11 @@ interface LocatorFixtures extends Partial<Config> {
3536

3637
export {configure} from '..'
3738

38-
export type {ElementHandleFixtures as TestingLibraryFixtures}
39-
export {elementHandleQueriesFixture as fixture}
40-
export {elementHandleFixtures as fixtures}
41-
export type {LocatorFixtures}
42-
export {locatorQueriesFixture}
43-
export {locatorFixtures}
39+
export type {ElementHandleFixtures as TestingLibraryFixtures, LocatorFixtures}
40+
export {
41+
locatorFixtures,
42+
locatorQueriesFixture,
43+
elementHandleQueriesFixture as fixture,
44+
elementHandleFixtures as fixtures,
45+
queriesFor,
46+
}

lib/fixture/locator/helpers.ts

+14
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,20 @@ const createFindQuery =
9292
return locator
9393
}
9494

95+
/**
96+
* Given a `Page` or `Locator` instance, return an object of Testing Library
97+
* query methods that return a `Locator` instance for the queried element
98+
*
99+
* @internal this API is not currently intended for public usage and may be
100+
* removed or changed outside of semantic release versioning. If possible, you
101+
* should use the `locatorFixtures` with **@playwright/test** instead.
102+
* @see {@link locatorFixtures}
103+
*
104+
* @param pageOrLocator `Page` or `Locator` instance to use as the query root
105+
* @param config Testing Library configuration to apply to queries
106+
*
107+
* @returns object containing scoped Testing Library query methods
108+
*/
95109
const queriesFor = (pageOrLocator: Page | Locator, config?: Partial<Config>) =>
96110
allQueryNames.reduce(
97111
(rest, query) => ({

lib/fixture/locator/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@ export {
66
withinFixture,
77
} from './fixtures'
88
export type {Queries} from './fixtures'
9+
export {queriesFor} from './helpers'

0 commit comments

Comments
 (0)