mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 05:27:57 -05:00
* [INJI-314] initial commit Signed-off-by: Sri Kanth Kola <srikanthsri7447@gmail.com> * [INJI-314] add WIP ut stuff Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-314] fix tsconfig for project type Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-314] kludge - skip checking types during unit tests * mock image imports globally * enable tests to run from any dir Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-314]: mocked modules Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-314]: mock react-native-google-signin Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-314]: use defined mock from google-signin lib other details: - mock base58.., rn-linear-gradient, expo-camera - add @react-native/assets-registry to make jest-expo babel preset work Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-314] reorganise global const mocks into jest's setupFiles Co-authored-by: srikanth716 <srikanthsri7447@gmail.com> Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] write tests for ActivityLogEvent * init relevant mocks * remove redundant global mocks from test files Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] fixup mocks of mmkv, zip-archive, rnfs Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900]: write unit test for commonUtil Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-900]: write unit test for commonUtil Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-900]: sample unit test for settingsScreen Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-900] add SettingScreen test Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] update sample tests for commonUtil Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900]: refactoring the settingsScreen test for Android and IOS Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-900] update test snapshots and add kludge in auth for testing kludge: auth state machine now exports a selector with optional fields as state machine isn't running in a test environment Co-authored-by: srikanth716 <srikanthsri7447@gmail.com> Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900]: snapshot test to settings screen Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> * [INJIMOB-900] update mocks for testing and ACK reviews Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] downgrade expo to match compatibility matrix Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] upgrade expo to 49 to build the iOS app(kludge) Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> * [INJIMOB-900] configure react-native-vector-icons as per README Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> --------- Signed-off-by: Sri Kanth Kola <srikanthsri7447@gmail.com> Signed-off-by: Harsh Vardhan <harsh59v@gmail.com> Signed-off-by: srikanth716 <srikanthsri7447@gmail.com> Co-authored-by: Sri Kanth Kola <srikanthsri7447@gmail.com>
71 lines
2.9 KiB
JavaScript
71 lines
2.9 KiB
JavaScript
// jest.config.js
|
|
const {defaults: tsjPreset} = require('ts-jest/presets');
|
|
module.exports = {
|
|
...tsjPreset,
|
|
preset: 'react-native',
|
|
setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'],
|
|
testPathIgnorePatterns: ['<rootDir>/node_modules/', '\\.snap$'],
|
|
cacheDirectory: '.jest/cache',
|
|
testEnvironment: 'jsdom',
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
|
|
globals: {
|
|
__DEV__: true,
|
|
},
|
|
transform: {
|
|
'^.+\\.jsx$': 'babel-jest',
|
|
'^.+\\.tsx?$': [
|
|
'ts-jest',
|
|
{
|
|
// TODO: Remove this to log the type mismatch errors later.
|
|
diagnostics: {
|
|
exclude: ['**'],
|
|
},
|
|
tsconfig: '<rootDir>/tsconfig.spec.json',
|
|
},
|
|
],
|
|
},
|
|
// This line should be kept even with nothing to be ignored, otherwise the transform will not take place.
|
|
// Not quite sure about the reason.
|
|
testRegex: '(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$',
|
|
transformIgnorePatterns: [
|
|
'node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|react-native-svg)',
|
|
'node_modules/(?!(@react-native|react-native|react-native-argon2|@react-navigation|react-native-elements|react-native-size-matters|react-native-ratings|expo-constants|base58-universal|@react-native-*|react-native-google-signin|react-native-linear-gradient|expo-camera|base58-universal/*|react-native-*)/).*/',
|
|
],
|
|
setupFiles: [
|
|
'<rootDir>/__mocks__/svg.mock.js',
|
|
'<rootDir>/__mocks__/jest-init.js',
|
|
'<rootDir>/__mocks__/mmkv-db-setup.js',
|
|
'<rootDir>/__mocks__/react-native.mock.js',
|
|
'<rootDir>/__mocks__/telemetry-sdk.mock.js',
|
|
'<rootDir>/__mocks__/expo-constants.mock.js',
|
|
'<rootDir>/node_modules/react-native-mmkv-storage/jest/mmkvJestSetup.js',
|
|
'<rootDir>/node_modules/@react-native-community/netinfo/jest/netinfo-mock.js',
|
|
'<rootDir>/__mocks__/react-native-argon2.mock.js',
|
|
// https://github.com/react-native-google-signin/google-signin?tab=readme-ov-file#jest-module-mock
|
|
'<rootDir>/node_modules/@react-native-google-signin/google-signin/jest/build/setup.js',
|
|
],
|
|
// TODO: enable this to also collect coverage
|
|
collectCoverage: false,
|
|
collectCoverageFrom: [
|
|
'routes/*.ts',
|
|
'screens/**',
|
|
'machines/**',
|
|
'lib/jsonld-signatures/**',
|
|
'components/**',
|
|
'machines/**',
|
|
'shared/**',
|
|
'**/*.{js,jsx}',
|
|
'!**/node_modules/**',
|
|
],
|
|
coverageDirectory: 'coverage',
|
|
moduleNameMapper: {
|
|
// https://stackoverflow.com/a/54513338
|
|
'\\.(jpg|ico|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
|
'<rootDir>/__mocks__/fileMock.js',
|
|
'\\.(svg)$': '<rootDir>/__mocks__/svg.mock.js',
|
|
'^\\.\\/locales\\/en\\.json$': '<rootDir>/__mocks__/en.mock.json',
|
|
'^react-native-biometrics-changed$':
|
|
'<rootDir>/__mocks__/react-native-biometrics-changed.js',
|
|
},
|
|
};
|