Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions code/core/src/test/testing-library.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,13 @@ const testingLibrary = instrument(

testingLibrary.screen = new Proxy(testingLibrary.screen, {
get(target, prop, receiver) {
once.warn(dedent`
You are using Testing Library's \`screen\` object. Use \`within(canvasElement)\` instead.
More info: https://storybook.js.org/docs/writing-tests/interaction-testing?ref=error
`);
if (typeof window !== 'undefined' && globalThis.location?.href?.includes('viewMode=docs')) {
once.warn(dedent`
You are using Testing Library's \`screen\` object while the story is rendered in docs mode. This will likely lead to issues, as multiple stories are rendered in the same page and therefore screen will potentially find multiple elements. Use the \`canvas\` utility from the story context instead, which will scope the queries to each story's canvas.

More info: https://storybook.js.org/docs/writing-tests/interaction-testing?ref=error#querying-the-canvas
`);
}
return Reflect.get(target, prop, receiver);
},
});
Expand Down
Loading