|
1 | | -import {AppModule} from './app.module'; |
2 | | -import {Test} from '@nestjs/testing'; |
3 | | -import {PassThroughService, VersionManagerService} from './services'; |
4 | | -import {of} from 'rxjs'; |
5 | | -import {COMMANDER_PROGRAM} from './constants'; |
| 1 | +import { AppModule } from './app.module'; |
| 2 | +import { Test } from '@nestjs/testing'; |
| 3 | +import { PassThroughService, VersionManagerService } from './services'; |
| 4 | +import { of } from 'rxjs'; |
| 5 | +import { COMMANDER_PROGRAM } from './constants'; |
6 | 6 |
|
7 | 7 | describe('AppModule', () => { |
8 | | - |
9 | | - let fixture: AppModule |
| 8 | + let fixture: AppModule; |
10 | 9 |
|
11 | 10 | const programMock = { |
12 | 11 | parse: jest.fn(), |
13 | | - } |
| 12 | + }; |
14 | 13 |
|
15 | 14 | const passThroughServiceMock = { |
16 | 15 | init: jest.fn(), |
17 | | - } |
| 16 | + }; |
18 | 17 |
|
19 | 18 | const versionManagerServiceMock = { |
20 | 19 | getSelectedVersion: jest.fn(), |
21 | 20 | setSelectedVersion: jest.fn(), |
22 | 21 | downloadIfNeeded: jest.fn(), |
23 | 22 | search: jest.fn(), |
24 | | - } |
| 23 | + }; |
25 | 24 |
|
26 | 25 | beforeEach(async () => { |
27 | | - |
28 | 26 | [ |
29 | 27 | ...Object.values(versionManagerServiceMock), |
30 | 28 | ...Object.values(passThroughServiceMock), |
31 | 29 | ...Object.values(programMock), |
32 | | - ].forEach(spy => spy.mockReset()) |
| 30 | + ].forEach((spy) => spy.mockReset()); |
33 | 31 |
|
34 | 32 | const moduleRef = await Test.createTestingModule({ |
35 | 33 | providers: [ |
36 | | - {provide: COMMANDER_PROGRAM, useValue: programMock}, |
37 | | - {provide: VersionManagerService, useValue: versionManagerServiceMock}, |
38 | | - {provide: PassThroughService, useValue: passThroughServiceMock}, |
39 | | - ] |
| 34 | + { provide: COMMANDER_PROGRAM, useValue: programMock }, |
| 35 | + { provide: VersionManagerService, useValue: versionManagerServiceMock }, |
| 36 | + { provide: PassThroughService, useValue: passThroughServiceMock }, |
| 37 | + ], |
40 | 38 | }).compile(); |
41 | 39 |
|
42 | 40 | fixture = new AppModule( |
43 | 41 | moduleRef.get(COMMANDER_PROGRAM), |
44 | 42 | moduleRef.get(VersionManagerService), |
45 | 43 | moduleRef.get(PassThroughService), |
46 | | - ) |
47 | | - }) |
| 44 | + ); |
| 45 | + }); |
48 | 46 |
|
49 | 47 | describe('lifecycles', () => { |
50 | | - |
51 | 48 | describe('onApplicationBootstrap()', () => { |
52 | | - |
53 | 49 | beforeEach(() => { |
54 | | - |
55 | | - process.argv = ['foo', 'baz'] |
| 50 | + process.argv = ['foo', 'baz']; |
56 | 51 |
|
57 | 52 | programMock.parse.mockImplementation(() => { |
58 | | - expect(passThroughServiceMock.init).toBeCalledTimes(1) |
59 | | - expect(versionManagerServiceMock.downloadIfNeeded).toBeCalledTimes(1) |
60 | | - }) |
61 | | - }) |
| 53 | + expect(passThroughServiceMock.init).toHaveBeenCalledTimes(1); |
| 54 | + expect( |
| 55 | + versionManagerServiceMock.downloadIfNeeded, |
| 56 | + ).toHaveBeenCalledTimes(1); |
| 57 | + }); |
| 58 | + }); |
62 | 59 |
|
63 | 60 | describe('the selected version is not set', () => { |
64 | | - |
65 | 61 | beforeEach(async () => { |
66 | | - versionManagerServiceMock.getSelectedVersion.mockReturnValue(undefined) |
67 | | - versionManagerServiceMock.search.mockReturnValue(of([{version: '4.5.6'}])) |
68 | | - await fixture.onApplicationBootstrap() |
69 | | - }) |
| 62 | + versionManagerServiceMock.getSelectedVersion.mockReturnValue( |
| 63 | + undefined, |
| 64 | + ); |
| 65 | + versionManagerServiceMock.search.mockReturnValue( |
| 66 | + of([{ version: '4.5.6' }]), |
| 67 | + ); |
| 68 | + await fixture.onApplicationBootstrap(); |
| 69 | + }); |
70 | 70 |
|
71 | 71 | it('searches and selects the latest version ', () => { |
72 | | - expect(versionManagerServiceMock.search).toHaveBeenNthCalledWith(1, ['latest']) |
73 | | - expect(versionManagerServiceMock.setSelectedVersion).toHaveBeenNthCalledWith(1, '4.5.6') |
74 | | - }) |
| 72 | + expect(versionManagerServiceMock.search).toHaveBeenNthCalledWith(1, [ |
| 73 | + 'latest', |
| 74 | + ]); |
| 75 | + expect( |
| 76 | + versionManagerServiceMock.setSelectedVersion, |
| 77 | + ).toHaveBeenNthCalledWith(1, '4.5.6'); |
| 78 | + }); |
75 | 79 |
|
76 | 80 | it('downloads the version, if needed', () => { |
77 | | - expect(versionManagerServiceMock.downloadIfNeeded).toHaveBeenNthCalledWith(1, '4.5.6') |
78 | | - }) |
| 81 | + expect( |
| 82 | + versionManagerServiceMock.downloadIfNeeded, |
| 83 | + ).toHaveBeenNthCalledWith(1, '4.5.6'); |
| 84 | + }); |
79 | 85 |
|
80 | 86 | it('parses the command', () => { |
81 | | - expect(programMock.parse).toHaveBeenNthCalledWith(1, process.argv) |
82 | | - }) |
83 | | - |
84 | | - }) |
| 87 | + expect(programMock.parse).toHaveBeenNthCalledWith(1, process.argv); |
| 88 | + }); |
| 89 | + }); |
85 | 90 |
|
86 | 91 | describe('the selected version is set', () => { |
87 | | - |
88 | 92 | beforeEach(async () => { |
89 | | - versionManagerServiceMock.getSelectedVersion.mockReturnValue('1.2.3') |
90 | | - await fixture.onApplicationBootstrap() |
91 | | - }) |
| 93 | + versionManagerServiceMock.getSelectedVersion.mockReturnValue('1.2.3'); |
| 94 | + await fixture.onApplicationBootstrap(); |
| 95 | + }); |
92 | 96 |
|
93 | 97 | it('does not search for the latest version ', () => { |
94 | | - expect(versionManagerServiceMock.search).toBeCalledTimes(0) |
95 | | - }) |
| 98 | + expect(versionManagerServiceMock.search).toHaveBeenCalledTimes(0); |
| 99 | + }); |
96 | 100 |
|
97 | 101 | it('does not set the selected version ', () => { |
98 | | - expect(versionManagerServiceMock.setSelectedVersion).toBeCalledTimes(0) |
99 | | - }) |
| 102 | + expect( |
| 103 | + versionManagerServiceMock.setSelectedVersion, |
| 104 | + ).toHaveBeenCalledTimes(0); |
| 105 | + }); |
100 | 106 |
|
101 | 107 | it('downloads the version, if needed', () => { |
102 | | - expect(versionManagerServiceMock.downloadIfNeeded).toHaveBeenNthCalledWith(1, '1.2.3') |
103 | | - }) |
| 108 | + expect( |
| 109 | + versionManagerServiceMock.downloadIfNeeded, |
| 110 | + ).toHaveBeenNthCalledWith(1, '1.2.3'); |
| 111 | + }); |
104 | 112 |
|
105 | 113 | it('parses the command', () => { |
106 | | - expect(programMock.parse).toHaveBeenNthCalledWith(1, process.argv) |
107 | | - }) |
108 | | - |
109 | | - }) |
110 | | - |
111 | | - }) |
112 | | - |
113 | | - }) |
114 | | - |
115 | | -}) |
| 114 | + expect(programMock.parse).toHaveBeenNthCalledWith(1, process.argv); |
| 115 | + }); |
| 116 | + }); |
| 117 | + }); |
| 118 | + }); |
| 119 | +}); |
0 commit comments