Skip to content

Commit ba2d439

Browse files
committed
[jest] Capture and restore global promise
1 parent 90b6115 commit ba2d439

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

jest/preset.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const reactNativePreset = require('react-native/jest-preset');
2+
3+
module.exports = Object.assign({}, reactNativePreset, {
4+
// this is needed to make modern fake timers work
5+
// because the react-native preset overrides global.Promise
6+
setupFiles: [require.resolve('./save-promise.js')]
7+
.concat(reactNativePreset.setupFiles)
8+
.concat([require.resolve('./restore-promise.js')]),
9+
});

jest/restore-promise.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global.Promise = global.originalPromise;

jest/save-promise.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global.originalPromise = Promise;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
"build": "rm -rf build; babel src --out-dir build --ignore 'src/__tests__/*'"
7171
},
7272
"jest": {
73-
"preset": "react-native",
73+
"preset": "../jest/preset.js",
7474
"moduleFileExtensions": [
7575
"js",
7676
"json"

0 commit comments

Comments
 (0)