Fix desktop template tests (#3327)
Summary: When creating a brand new Flipper desktop plugin, the tests don't pass ### To Reproduce ``` npx flipper-pkg init cd flipper-plugin-new yarn jest ``` The test are not passing. It would seem that we have 2 issues since this commit:e46fcba0b2 (diff-26467a831e67f87a2bd99be5b62a71a6e3e4e7f86135c11ccede9a02e58c44feR48)#### 1. `electronRequire` is not defined  Adding: ```ts // ts-ignore global.electronRequire = require; ``` fixes the issue of course like [here](e46fcba0b2 (diff-a283d77d8667b28aec5319fe5671a91489485a683898efedf9441b816c84a447R15)) but might not be very ideal When fixing this, we hit a second issue: #### 2. Hooks cannot be defined inside tests  This is because we now require `testing-library/react` on the fly:e46fcba0b2 (diff-26467a831e67f87a2bd99be5b62a71a6e3e4e7f86135c11ccede9a02e58c44feR198)which will run `afterEach` if defined:071a6fdc1d/src/index.js (L12)A non ideal fix is to require `require("testing-library/react");` before running the test ## Changelog Fix: ensure desktop plugin template tests run Pull Request resolved: https://github.com/facebook/flipper/pull/3327 Test Plan: I've cloned the repo and run: ``` cd flipper/desktop/pkg yarn cd ../../.. ./flipper/desktop/pkg/bin/run init ``` I run the tests on the newly package created and they're now good  ## Side note The fixes are not great, if you guys have better ones to suggest, really addressing the root cause of the issue, I'll happily close the PR Also it's so easy to test desktop plugins with the awesome work you've done �, it'd be sad if the community could not totally benefit from it. Since I had this issue before (https://github.com/facebook/flipper/pull/3039), I'd be really happy to help (if given some directions 🙏) set up a test to ensure a plugin generated is always well set up. Reviewed By: passy Differential Revision: D33713611 Pulled By: aigoncharov fbshipit-source-id: 43834b30f24c2549d80923d2194487b9f9e6a1ae
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b5cd33f7e8
commit
3eb53f5987
4
desktop/pkg/templates/plugin/jest-setup.ts.template
Normal file
4
desktop/pkg/templates/plugin/jest-setup.ts.template
Normal file
@@ -0,0 +1,4 @@
|
||||
// See https://github.com/facebook/flipper/pull/3327 for why we need this
|
||||
// @ts-ignore
|
||||
global.electronRequire = require;
|
||||
require("@testing-library/react");
|
||||
@@ -44,6 +44,9 @@
|
||||
"typescript": "latest"
|
||||
},
|
||||
"jest": {
|
||||
"testEnvironment": "jsdom"
|
||||
"testEnvironment": "jsdom",
|
||||
"setupFiles": [
|
||||
"<rootDir>/jest-setup.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user