Storyshots: Fix async issue with obtaining custom Puppeteer instance … #5130
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…(#5069#)
Issue: The
customBrowser
config option for storyshots-puppeteer doesn't work because Jest doesn't wait for async functions to complete in test files that aren't part of the actual test function. You will get aYour test suite must contain at least one test.
error because it doesn't find the tests in the current stack.What I did
Instead of trying to do the async operation outside of the test function, we can pass the function to
initStoryshots
to later be called inside thebeforeAll
hook, where Jest will happily wait.I changed
customBrowser
togetCustomBrowser
, which is an async function that returns thebrowser
instance. If that function isn't provided in config, the normal launch behaviour remains.