Skip to content

Commit 4b71440

Browse files
committed
Setup rndebugger in TestApp E2E test
1 parent 5356677 commit 4b71440

File tree

7 files changed

+26
-51
lines changed

7 files changed

+26
-51
lines changed

__e2e__/TestApp/__e2e__/.eslintrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"element": true,
55
"waitFor": true,
66
"by": true,
7-
"simctl": true
7+
"simctl": true,
8+
"rndebugger": true
89
}
910
}

__e2e__/TestApp/__e2e__/app.spec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
const delay = time => new Promise(resolve => setTimeout(resolve, time));
1+
import { delay } from '../../utils';
22

33
describe('Main', () => {
44
beforeEach(async () => {
55
await device.reloadReactNative();
66
await delay(500);
77
});
8+
89
it('should open the article', async () => {
910
await expect(element(by.id('home'))).toBeVisible();
1011
});

__e2e__/TestApp/__e2e__/setup.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import childProcess from 'child_process';
44
import { promisify } from 'util';
5+
import createApplication from '../../rndebugger';
56

67
/* eslint-disable import/no-unresolved */
78
const detox = require('detox');
@@ -18,6 +19,8 @@ jest.setTimeout(120000);
1819
jasmine.getEnv().addReporter(adapter);
1920

2021
beforeAll(async () => {
22+
global.rndebugger = createApplication('../../dist');
23+
await rndebugger.start();
2124
await detox.init(config);
2225
});
2326

@@ -26,6 +29,9 @@ beforeEach(async () => {
2629
});
2730

2831
afterAll(async () => {
32+
if (rndebugger && rndebugger.isRunning()) {
33+
await rndebugger.stop();
34+
}
2935
await adapter.afterAll();
3036
await detox.cleanup();
3137
});

__e2e__/TestApp/yarn.lock

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,23 +1952,6 @@ es-to-primitive@^1.2.0:
19521952
is-date-object "^1.0.1"
19531953
is-symbol "^1.0.2"
19541954

1955-
es6-template-regex@^0.1.1:
1956-
version "0.1.1"
1957-
resolved "https://registry.yarnpkg.com/es6-template-regex/-/es6-template-regex-0.1.1.tgz#e517b9e0f742beeb8d3040834544fda0e4651467"
1958-
integrity sha1-5Re54PdCvuuNMECDRUT9oORlFGc=
1959-
1960-
es6-template@^1.0.4:
1961-
version "1.0.4"
1962-
resolved "https://registry.yarnpkg.com/es6-template/-/es6-template-1.0.4.tgz#56af42b57a31f5175d3f567d44b1efc12d2f2636"
1963-
integrity sha1-Vq9CtXox9RddP1Z9RLHvwS0vJjY=
1964-
dependencies:
1965-
es6-template-regex "^0.1.1"
1966-
extend-shallow "^2.0.1"
1967-
get-value "^2.0.2"
1968-
lazy-cache "^1.0.3"
1969-
mkdirp "^0.5.1"
1970-
sliced "^1.0.1"
1971-
19721955
escape-html@~1.0.3:
19731956
version "1.0.3"
19741957
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
@@ -2483,7 +2466,7 @@ get-stream@^4.0.0:
24832466
dependencies:
24842467
pump "^3.0.0"
24852468

2486-
get-value@^2.0.2, get-value@^2.0.3, get-value@^2.0.6:
2469+
get-value@^2.0.3, get-value@^2.0.6:
24872470
version "2.0.6"
24882471
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
24892472
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
@@ -3871,11 +3854,6 @@ kleur@^3.0.0:
38713854
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.1.tgz#4f5b313f5fa315432a400f19a24db78d451ede62"
38723855
integrity sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg==
38733856

3874-
lazy-cache@^1.0.3:
3875-
version "1.0.4"
3876-
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
3877-
integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
3878-
38793857
lcid@^1.0.0:
38803858
version "1.0.0"
38813859
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -5213,16 +5191,6 @@ react-is@^16.6.3:
52135191
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.7.0.tgz#c1bd21c64f1f1364c6f70695ec02d69392f41bfa"
52145192
integrity sha512-Z0VRQdF4NPDoI0tsXVMLkJLiwEBa+RP66g0xDHxgxysxSoCUccSten4RTF/UFvZF1dZvZ9Zu1sx+MDXwcOR34g==
52155193

5216-
react-native-debugger-open@^0.3.17:
5217-
version "0.3.17"
5218-
resolved "https://registry.yarnpkg.com/react-native-debugger-open/-/react-native-debugger-open-0.3.17.tgz#85b1b0dd76b0025d6f7c16a7c161b9d30a9bae93"
5219-
integrity sha512-wNWn5wPjdZTLTbdFBKNNwvIJqnWK4ejMbg0fbZRwpQPYyJqexaEm0TjTvCY4wk210Ag6Rr9vrLZH+dcwZMdMrg==
5220-
dependencies:
5221-
chalk "^1.1.3"
5222-
es6-template "^1.0.4"
5223-
minimist "^1.2.0"
5224-
semver "^5.4.1"
5225-
52265194
react-native-devsettings-android@^0.1.5:
52275195
version "0.1.5"
52285196
resolved "https://registry.yarnpkg.com/react-native-devsettings-android/-/react-native-devsettings-android-0.1.5.tgz#0467fe016532525c9a990ab431b24bf485fd7c99"
@@ -5829,11 +5797,6 @@ slash@^2.0.0:
58295797
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
58305798
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
58315799

5832-
sliced@^1.0.1:
5833-
version "1.0.1"
5834-
resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
5835-
integrity sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=
5836-
58375800
slide@^1.1.5:
58385801
version "1.1.6"
58395802
resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707"

__e2e__/app.spec.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@ import fs from 'fs';
22
import path from 'path';
33
import net from 'net';
44
import http from 'http';
5-
import electronPath from 'electron';
6-
import { Application } from 'spectron';
5+
import createApplication from './rndebugger';
76
import buildTestBundle, { bundlePath } from './buildTestBundle';
87
import createMockRNServer from './mockRNServer';
98
import autoUpdateFeed from '../auto_updater.json';
10-
11-
const delay = time => new Promise(resolve => setTimeout(resolve, time));
9+
import { delay } from './utils';
1210

1311
// eslint-disable-next-line
1412
jasmine.DEFAULT_TIMEOUT_INTERVAL = 6e4;
@@ -18,13 +16,7 @@ describe('Application launch', () => {
1816

1917
beforeAll(async () => {
2018
await buildTestBundle();
21-
app = new Application({
22-
path: electronPath,
23-
args: ['--user-dir=__e2e__/tmp', 'dist'],
24-
env: {
25-
E2E_TEST: 1,
26-
},
27-
});
19+
app = createApplication();
2820
return app.start();
2921
});
3022

__e2e__/rndebugger.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const electronPath = require('electron');
2+
const { Application } = require('spectron');
3+
4+
module.exports = (path = 'dist') =>
5+
new Application({
6+
path: electronPath,
7+
args: ['--user-dir=__e2e__/tmp', path],
8+
env: {
9+
E2E_TEST: 1,
10+
},
11+
});

__e2e__/utils.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const delay = time => new Promise(resolve => setTimeout(resolve, time));

0 commit comments

Comments
 (0)