diff --git a/jest.config.js b/jest.config.js index 294be30..a471d13 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,3 +1,13 @@ module.exports = { preset: '@react-native/jest-preset', + setupFiles: ['./jest.setup.js'], + moduleNameMapper: { + '^@xuqm/rn-common$': '/node_modules/@xuqm/rn-sdk/packages/common/src', + '^@xuqm/rn-im$': '/node_modules/@xuqm/rn-sdk/packages/im/src', + '^@xuqm/rn-push$': '/node_modules/@xuqm/rn-sdk/packages/push/src', + '^@xuqm/rn-update$': '/node_modules/@xuqm/rn-sdk/packages/update/src', + }, + transformIgnorePatterns: [ + 'node_modules/(?!((@react-native|react-native|@react-navigation|@xuqm/rn-sdk)/))', + ], }; diff --git a/jest.setup.js b/jest.setup.js new file mode 100644 index 0000000..21b22d2 --- /dev/null +++ b/jest.setup.js @@ -0,0 +1,24 @@ +jest.mock('@react-native-async-storage/async-storage', () => + require('@react-native-async-storage/async-storage/jest/async-storage-mock'), +); + +jest.mock('react-native-audio-recorder-player', () => ({ + startRecorder: jest.fn(async () => 'xuqm_audio.m4a'), + stopRecorder: jest.fn(async () => 'xuqm_audio.m4a'), + addRecordBackListener: jest.fn(), + removeRecordBackListener: jest.fn(), + startPlayer: jest.fn(async () => undefined), + stopPlayer: jest.fn(async () => undefined), + addPlayBackListener: jest.fn(), + removePlayBackListener: jest.fn(), +})); + +jest.mock('react-native-image-picker', () => ({ + launchImageLibrary: jest.fn(async () => ({ assets: [] })), +})); + +jest.mock('react-native-document-picker', () => ({ + pickSingle: jest.fn(), + isCancel: jest.fn(() => true), + types: { allFiles: '*/*' }, +}));