Skip to content

Commit cd5c32d

Browse files
committed
chore: prepare config for unit tests
1 parent 9459991 commit cd5c32d

File tree

4 files changed

+93
-10
lines changed

4 files changed

+93
-10
lines changed

jest-setup.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import '@testing-library/react-native/extend-expect';
2+
3+
jest.mock('react-native-app-auth', () => ({
4+
authorize: jest.fn(),
5+
}));
6+
7+
jest.mock('react-native-encrypted-storage', () => ({
8+
setItem: jest.fn(() => Promise.resolve()),
9+
getItem: jest.fn(() => Promise.resolve('{ "foo": 1 }')),
10+
removeItem: jest.fn(() => Promise.resolve()),
11+
clear: jest.fn(() => Promise.resolve()),
12+
}));

jest.config.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
{
22
"preset": "react-native",
3+
"setupFilesAfterEnv": ["./jest-setup.ts"],
4+
"transform": {
5+
"^.+\\.(js)$": [
6+
"babel-jest",
7+
{
8+
"plugins": [
9+
"babel-plugin-syntax-hermes-parser"
10+
]
11+
}
12+
],
13+
"^.+\\.(ts|tsx)$": "babel-jest"
14+
},
315
"modulePathIgnorePatterns": [
416
"./example/node_modules",
517
"./expoExample/node_modules",

package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@
7070
"@commitlint/config-conventional": "^17.0.2",
7171
"@evilmartians/lefthook": "^1.5.0",
7272
"@react-native-community/cli": "15.0.1",
73+
"@react-native/babel-preset": "0.76.3",
7374
"@react-native/eslint-config": "^0.73.1",
7475
"@release-it/conventional-changelog": "^9.0.2",
76+
"@testing-library/react-native": "^12.9.0",
7577
"@types/jest": "^29.5.5",
7678
"@types/react": "^18.2.44",
7779
"commitlint": "^17.0.2",
@@ -86,6 +88,7 @@
8688
"react-native-app-auth": "^8.0.0",
8789
"react-native-builder-bob": "^0.32.1",
8890
"react-native-encrypted-storage": "^4.0.3",
91+
"react-test-renderer": "18.3.1",
8992
"release-it": "^17.10.0",
9093
"turbo": "^1.10.7",
9194
"typescript": "^5.2.2"

yarn.lock

Lines changed: 66 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3650,6 +3650,25 @@ __metadata:
36503650
languageName: node
36513651
linkType: hard
36523652

3653+
"@testing-library/react-native@npm:^12.9.0":
3654+
version: 12.9.0
3655+
resolution: "@testing-library/react-native@npm:12.9.0"
3656+
dependencies:
3657+
jest-matcher-utils: ^29.7.0
3658+
pretty-format: ^29.7.0
3659+
redent: ^3.0.0
3660+
peerDependencies:
3661+
jest: ">=28.0.0"
3662+
react: ">=16.8.0"
3663+
react-native: ">=0.59"
3664+
react-test-renderer: ">=16.8.0"
3665+
peerDependenciesMeta:
3666+
jest:
3667+
optional: true
3668+
checksum: 88115b22c127f39b2e1e8098dc1c93ea9c7393800a24f4f380bed64425cc685f98cad5b56b9cb48d85f0dbed1f0f208d0de44137c6e789c98161ff2715f70646
3669+
languageName: node
3670+
linkType: hard
3671+
36533672
"@tootallnate/quickjs-emscripten@npm:^0.23.0":
36543673
version: 0.23.0
36553674
resolution: "@tootallnate/quickjs-emscripten@npm:0.23.0"
@@ -11917,11 +11936,11 @@ __metadata:
1191711936
linkType: hard
1191811937

1191911938
"prettier@npm:^3.0.3":
11920-
version: 3.3.3
11921-
resolution: "prettier@npm:3.3.3"
11939+
version: 3.4.1
11940+
resolution: "prettier@npm:3.4.1"
1192211941
bin:
1192311942
prettier: bin/prettier.cjs
11924-
checksum: bc8604354805acfdde6106852d14b045bb20827ad76a5ffc2455b71a8257f94de93f17f14e463fe844808d2ccc87248364a5691488a3304f1031326e62d9276e
11943+
checksum: f83ae83e38ae38f42c0b174833f58f820ed6eb063abfc5aa6725e8f9c1d626b54b1cb9d595cace525f8d59de89e186285f6bbcb460dc644ea9d8a7823cc54aca
1192511944
languageName: node
1192611945
linkType: hard
1192711946

@@ -12165,6 +12184,13 @@ __metadata:
1216512184
languageName: node
1216612185
linkType: hard
1216712186

12187+
"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.3.1":
12188+
version: 18.3.1
12189+
resolution: "react-is@npm:18.3.1"
12190+
checksum: e20fe84c86ff172fc8d898251b7cc2c43645d108bf96d0b8edf39b98f9a2cae97b40520ee7ed8ee0085ccc94736c4886294456033304151c3f94978cec03df21
12191+
languageName: node
12192+
linkType: hard
12193+
1216812194
"react-is@npm:^16.13.1":
1216912195
version: 16.13.1
1217012196
resolution: "react-is@npm:16.13.1"
@@ -12179,13 +12205,6 @@ __metadata:
1217912205
languageName: node
1218012206
linkType: hard
1218112207

12182-
"react-is@npm:^18.0.0":
12183-
version: 18.3.1
12184-
resolution: "react-is@npm:18.3.1"
12185-
checksum: e20fe84c86ff172fc8d898251b7cc2c43645d108bf96d0b8edf39b98f9a2cae97b40520ee7ed8ee0085ccc94736c4886294456033304151c3f94978cec03df21
12186-
languageName: node
12187-
linkType: hard
12188-
1218912208
"react-native-app-auth@npm:^8.0.0":
1219012209
version: 8.0.0
1219112210
resolution: "react-native-app-auth@npm:8.0.0"
@@ -12304,8 +12323,10 @@ __metadata:
1230412323
"@commitlint/config-conventional": ^17.0.2
1230512324
"@evilmartians/lefthook": ^1.5.0
1230612325
"@react-native-community/cli": 15.0.1
12326+
"@react-native/babel-preset": 0.76.3
1230712327
"@react-native/eslint-config": ^0.73.1
1230812328
"@release-it/conventional-changelog": ^9.0.2
12329+
"@testing-library/react-native": ^12.9.0
1230912330
"@types/jest": ^29.5.5
1231012331
"@types/react": ^18.2.44
1231112332
commitlint: ^17.0.2
@@ -12320,6 +12341,7 @@ __metadata:
1232012341
react-native-app-auth: ^8.0.0
1232112342
react-native-builder-bob: ^0.32.1
1232212343
react-native-encrypted-storage: ^4.0.3
12344+
react-test-renderer: 18.3.1
1232312345
release-it: ^17.10.0
1232412346
turbo: ^1.10.7
1232512347
typescript: ^5.2.2
@@ -12456,6 +12478,31 @@ __metadata:
1245612478
languageName: node
1245712479
linkType: hard
1245812480

12481+
"react-shallow-renderer@npm:^16.15.0":
12482+
version: 16.15.0
12483+
resolution: "react-shallow-renderer@npm:16.15.0"
12484+
dependencies:
12485+
object-assign: ^4.1.1
12486+
react-is: ^16.12.0 || ^17.0.0 || ^18.0.0
12487+
peerDependencies:
12488+
react: ^16.0.0 || ^17.0.0 || ^18.0.0
12489+
checksum: 6052c7e3e9627485120ebd8257f128aad8f56386fe8d42374b7743eac1be457c33506d153c7886b4e32923c0c352d402ab805ef9ca02dbcd8393b2bdeb6e5af8
12490+
languageName: node
12491+
linkType: hard
12492+
12493+
"react-test-renderer@npm:18.3.1":
12494+
version: 18.3.1
12495+
resolution: "react-test-renderer@npm:18.3.1"
12496+
dependencies:
12497+
react-is: ^18.3.1
12498+
react-shallow-renderer: ^16.15.0
12499+
scheduler: ^0.23.2
12500+
peerDependencies:
12501+
react: ^18.3.1
12502+
checksum: e8e58e738835fab3801afb63f6bfe0fcf6e68ea39619fae5bdf47feefc36b1e4acb48c9dd139c7533611466eff1dfce6ffdda4b317e06aee663dda7d91438f26
12503+
languageName: node
12504+
linkType: hard
12505+
1245912506
"react@npm:18.3.1":
1246012507
version: 18.3.1
1246112508
resolution: "react@npm:18.3.1"
@@ -13093,6 +13140,15 @@ __metadata:
1309313140
languageName: node
1309413141
linkType: hard
1309513142

13143+
"scheduler@npm:^0.23.2":
13144+
version: 0.23.2
13145+
resolution: "scheduler@npm:0.23.2"
13146+
dependencies:
13147+
loose-envify: ^1.1.0
13148+
checksum: 3e82d1f419e240ef6219d794ff29c7ee415fbdc19e038f680a10c067108e06284f1847450a210b29bbaf97b9d8a97ced5f624c31c681248ac84c80d56ad5a2c4
13149+
languageName: node
13150+
linkType: hard
13151+
1309613152
"selfsigned@npm:^2.4.1":
1309713153
version: 2.4.1
1309813154
resolution: "selfsigned@npm:2.4.1"

0 commit comments

Comments
 (0)