about summary refs log tree commit diff
path: root/jest/jestSetup.js
diff options
context:
space:
mode:
Diffstat (limited to 'jest/jestSetup.js')
-rw-r--r--jest/jestSetup.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/jest/jestSetup.js b/jest/jestSetup.js
new file mode 100644
index 000000000..7a2f10d2d
--- /dev/null
+++ b/jest/jestSetup.js
@@ -0,0 +1,39 @@
+jest.mock('@react-native-async-storage/async-storage', () =>
+  require('@react-native-async-storage/async-storage/jest/async-storage-mock'),
+)
+jest.mock('react-native/Libraries/EventEmitter/NativeEventEmitter')
+
+jest.mock('@fortawesome/react-native-fontawesome', () => ({
+  FontAwesomeIcon: '',
+}))
+
+require('react-native-reanimated/lib/reanimated2/jestUtils').setUpTests()
+
+// Silence the warning: Animated: `useNativeDriver` is not supported
+jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper')
+
+jest.mock('react-native-safe-area-context', () => {
+  const inset = {top: 0, right: 0, bottom: 0, left: 0}
+  return {
+    SafeAreaProvider: jest.fn().mockImplementation(({children}) => children),
+    SafeAreaConsumer: jest
+      .fn()
+      .mockImplementation(({children}) => children(inset)),
+    useSafeAreaInsets: jest.fn().mockImplementation(() => inset),
+  }
+})
+
+jest.mock('@gorhom/bottom-sheet', () => {
+  const react = require('react-native')
+  return {
+    __esModule: true,
+    default: react.View,
+    namedExport: {
+      ...require('react-native-reanimated/mock'),
+      ...jest.requireActual('@gorhom/bottom-sheet'),
+      BottomSheetFlatList: react.FlatList,
+    },
+  }
+})
+
+jest.useFakeTimers()