From ba2ed68d070265bc4c70b48a941cd04f148ca60f Mon Sep 17 00:00:00 2001 From: ArpitxGit Date: Thu, 25 Apr 2024 20:27:20 +0530 Subject: [PATCH] native&detox-test-setup --- e2e/firstTest.spec.js | 13 ++++++++++++ e2e/init.js | 19 ++++++++++++++++++ e2e/jest.config.js | 46 ++++++++++++++++++++++++------------------- package.json | 14 +++++++++++++ 4 files changed, 72 insertions(+), 20 deletions(-) create mode 100644 e2e/firstTest.spec.js create mode 100644 e2e/init.js diff --git a/e2e/firstTest.spec.js b/e2e/firstTest.spec.js new file mode 100644 index 0000000..46c4976 --- /dev/null +++ b/e2e/firstTest.spec.js @@ -0,0 +1,13 @@ +describe('Example', () => { + beforeAll(async () => { + await device.launchApp(); + }); + + afterAll(async () => { + await device.terminateApp(); + }); + + it('should have welcome message', async () => { + await expect(element(by.text('Welcome'))).toBeVisible(); + }); +}); diff --git a/e2e/init.js b/e2e/init.js new file mode 100644 index 0000000..38c13e3 --- /dev/null +++ b/e2e/init.js @@ -0,0 +1,19 @@ +const detox = require('detox'); +const config = require('../package.json').detox; +const adapter = require('detox/runners/jest/adapter'); + +jest.setTimeout(120000); +jasmine.getEnv().addReporter(adapter); + +beforeAll(async () => { + await detox.init(config); +}); + +beforeEach(async () => { + await adapter.beforeEach(); +}); + +afterAll(async () => { + await adapter.afterAll(); + await detox.cleanup(); +}); diff --git a/e2e/jest.config.js b/e2e/jest.config.js index 8276745..95b6329 100644 --- a/e2e/jest.config.js +++ b/e2e/jest.config.js @@ -1,23 +1,29 @@ -const baseConfig = require('../base.jest.config.js'); +//const baseConfig = require('../base.jest.config.js'); +// +///** @type {import('@jest/types').Config} */ +//module.exports = { +// ...baseConfig, +// rootDir: '..', +// testMatch: ['/e2e/**/*.test.js'], +// testTimeout: 180000, +// maxWorkers: 1, +// globalSetup: 'detox/runners/jest/globalSetup', +// globalTeardown: 'detox/runners/jest/globalTeardown', +// reporters: ['detox/runners/jest/reporter'], +// testEnvironment: 'detox/runners/jest/testEnvironment', +// verbose: true, +// // setupFilesAfterEnv: ['./init.ts'], +// setupFiles: [ +// '/node_modules/react-native-mmkv-storage/jest/mmkvJestSetup.js', +// ], // Adjusted path here +// testPathIgnorePatterns: ['/node_modules/'], +// transformIgnorePatterns: [ +// 'node_modules/(?!(react-native|@react-native|react-navigation|@react-navigation)/)', +// ], +//}; -/** @type {import('@jest/types').Config} */ module.exports = { - ...baseConfig, - rootDir: '..', - testMatch: ['/e2e/**/*.test.js'], - testTimeout: 180000, - maxWorkers: 1, - globalSetup: 'detox/runners/jest/globalSetup', - globalTeardown: 'detox/runners/jest/globalTeardown', - reporters: ['detox/runners/jest/reporter'], - testEnvironment: 'detox/runners/jest/testEnvironment', - verbose: true, - // setupFilesAfterEnv: ['./init.ts'], - setupFiles: [ - '/node_modules/react-native-mmkv-storage/jest/mmkvJestSetup.js', - ], // Adjusted path here - testPathIgnorePatterns: ['/node_modules/'], - transformIgnorePatterns: [ - 'node_modules/(?!(react-native|@react-native|react-navigation|@react-navigation)/)', - ], + preset: 'react-native', + setupFilesAfterEnv: ['./init.js'], + testTimeout: 120000, }; diff --git a/package.json b/package.json index f913b27..8277e98 100644 --- a/package.json +++ b/package.json @@ -39,5 +39,19 @@ }, "engines": { "node": ">=18" + }, + "detox": { + "configurations": { + "android.emu.debug": { + "type": "android.emulator", + "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", + "build": "cd android && ./gradlew app:assembleDebug app:assembleAndroidTest -DtestBuildType=debug && cd ..", + "device": { + "avdName": "Pixel_3a_API_30" + } + } + }, + "test-runner": "jest", + "runner-config": "e2e/config.json" } }