From 7517b65dcd676f36d38f31c991929c32168b3e12 Mon Sep 17 00:00:00 2001 From: João Ferreiro Date: Thu, 22 Dec 2022 15:32:39 +0000 Subject: Unit testing (#32) * add testing lib * remove coverage folder from git * finished basic test setup * fix tests typescript and import paths * add first snapshot * testing utils * rename test files; update script flags; ++tests * testing utils functions * testing downloadAndResize wip * remove download test * specify unwanted coverage paths; remove update snapshots flag * fix strings tests * testing downloadAndResize method * increasing testing * fixing snapshots wip * fixed shell mobile snapshot * adding snapshots for the screens * fix onboard snapshot * fix typescript issues * fix TabsSelector snapshot * Account for testing device's locale in ago() tests * Remove platform detection on regex Co-authored-by: Paul Frazee --- jest/jestSetup.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 jest/jestSetup.js (limited to 'jest/jestSetup.js') 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() -- cgit 1.4.1