Skip to content

Commit 61f9557

Browse files
author
Murat Mehmet
committed
test: mock update check in tests
1 parent 9fb2cc3 commit 61f9557

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

src/__tests__/unit/cli.spec.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require('../mocks/mockAll');
2+
const mockSpawn = jest.spyOn(require('child_process'), 'spawn');
23

34
import { resolve } from 'path';
45
import * as process from 'process';
@@ -11,6 +12,21 @@ describe('cli', () => {
1112
options.get().manual = true;
1213
});
1314
it('should exist', () => {
15+
mockSpawn.mockImplementationOnce(() => ({
16+
on: (_event: string, cb: (exitCode: number) => void) => {
17+
cb(0);
18+
},
19+
stdout: {
20+
on: (_event: string, cb: (...args: any[]) => void) => {
21+
cb('stdout');
22+
},
23+
},
24+
stderr: {
25+
on: (_event: string, cb: (...args: any[]) => void) => {
26+
cb('stderr');
27+
},
28+
},
29+
}));
1430
const mock = jest.spyOn(require('../../integrate'), 'integrate');
1531
const cli = require(resolve(__dirname, '../../cli'));
1632

src/__tests__/unit/integrate.spec.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const {
44
writeMockAppDelegate,
55
writeMockLock,
66
} = require('../mocks/mockAll');
7+
const mockSpawn = jest.spyOn(require('child_process'), 'spawn');
78

89
const mockRunTask = jest.spyOn(require('../../utils/runTask'), 'runTask');
910
const mockParseConfig = jest.spyOn(
@@ -17,6 +18,23 @@ import { integrate } from '../../integrate';
1718
import { mockPrompter, writeMockProject } from '../mocks/mockAll';
1819

1920
describe('integrate', () => {
21+
beforeEach(() => {
22+
mockSpawn.mockImplementationOnce(() => ({
23+
on: (_event: string, cb: (exitCode: number) => void) => {
24+
cb(0);
25+
},
26+
stdout: {
27+
on: (_event: string, cb: (...args: any[]) => void) => {
28+
cb('stdout');
29+
},
30+
},
31+
stderr: {
32+
on: (_event: string, cb: (...args: any[]) => void) => {
33+
cb('stderr');
34+
},
35+
},
36+
}));
37+
});
2038
it('should not run tasks when lock does not exist (first run)', async () => {
2139
const spinner = mockPrompter.spinner();
2240
spinner.stop.mockReset();

src/__tests__/unit/upgrade-cli.spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,21 @@ describe('upgrade-cli', () => {
2828
},
2929
},
3030
}));
31+
mockSpawn.mockImplementationOnce(() => ({
32+
on: (_event: string, cb: (exitCode: number) => void) => {
33+
cb(0);
34+
},
35+
stdout: {
36+
on: (_event: string, cb: (...args: any[]) => void) => {
37+
cb('stdout');
38+
},
39+
},
40+
stderr: {
41+
on: (_event: string, cb: (...args: any[]) => void) => {
42+
cb('stderr');
43+
},
44+
},
45+
}));
3146
const mock = jest.spyOn(require('../../upgrade'), 'upgrade');
3247
const cli = require(resolve(__dirname, '../../upgrade-cli'));
3348

src/__tests__/unit/upgrade.spec.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,21 @@ describe('upgrade', () => {
4343
},
4444
},
4545
}));
46+
mockSpawn.mockImplementationOnce(() => ({
47+
on: (_event: string, cb: (exitCode: number) => void) => {
48+
cb(0);
49+
},
50+
stdout: {
51+
on: (_event: string, cb: (...args: any[]) => void) => {
52+
cb('stdout');
53+
},
54+
},
55+
stderr: {
56+
on: (_event: string, cb: (...args: any[]) => void) => {
57+
cb('stderr');
58+
},
59+
},
60+
}));
4661
});
4762
it('should skip import when import path is empty', async () => {
4863
mockPrompter.text.mockImplementationOnce(() => '');

0 commit comments

Comments
 (0)