Skip to content

Commit c273ed5

Browse files
savcni01eps1lontimdeschryver
authored
feat: Add extra error messages when screen was passed instead of a DOM element (#949)
Co-authored-by: Sebastian Silbermann <[email protected]> Co-authored-by: Tim Deschryver <[email protected]>
1 parent 4b2976d commit c273ed5

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/__tests__/helpers.js

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {screen} from '../'
12
import {
23
getDocument,
34
getWindowFromNode,
@@ -10,6 +11,13 @@ test('returns global document if exists', () => {
1011
})
1112

1213
describe('window retrieval throws when given something other than a node', () => {
14+
// we had an issue when user insert screen instead of query
15+
// actually here should be another more clear error output
16+
test('screen as node', () => {
17+
expect(() => getWindowFromNode(screen)).toThrowErrorMatchingInlineSnapshot(
18+
`"It looks like you passed a \`screen\` object. Did you do something like \`fireEvent.click(screen, ...\` when you meant to use a query, e.g. \`fireEvent.click(screen.getBy..., \`?"`,
19+
)
20+
})
1321
test('Promise as node', () => {
1422
expect(() =>
1523
getWindowFromNode(new Promise(jest.fn())),

src/helpers.js

+7
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,13 @@ function getWindowFromNode(node) {
105105
throw new Error(
106106
`It looks like you passed an Array instead of a DOM node. Did you do something like \`fireEvent.click(screen.getAllBy...\` when you meant to use a \`getBy\` query \`fireEvent.click(screen.getBy...\`?`,
107107
)
108+
} else if (
109+
typeof node.debug === 'function' &&
110+
typeof node.logTestingPlaygroundURL === 'function'
111+
) {
112+
throw new Error(
113+
`It looks like you passed a \`screen\` object. Did you do something like \`fireEvent.click(screen, ...\` when you meant to use a query, e.g. \`fireEvent.click(screen.getBy..., \`?`,
114+
)
108115
} else {
109116
// The user passed something unusual to a calling function
110117
throw new Error(

0 commit comments

Comments
 (0)