-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
manager-files.spec.ts
66 lines (63 loc) · 2.41 KB
/
manager-files.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import { fs, getConfig, mocked } from '../../../../test/util';
import { RenovateConfig } from '../../../config';
import * as _html from '../../../manager/html';
import * as _fileMatch from './file-match';
import { getManagerPackageFiles } from './manager-files';
jest.mock('./file-match');
jest.mock('../../../manager/html');
jest.mock('../../../util/fs');
const fileMatch = mocked(_fileMatch);
const html = mocked(_html);
describe('workers/repository/extract/manager-files', () => {
describe('getManagerPackageFiles()', () => {
let config: RenovateConfig;
beforeEach(() => {
jest.resetAllMocks();
config = getConfig();
});
it('returns empty of manager is disabled', async () => {
const managerConfig = { manager: 'travis', enabled: false };
const res = await getManagerPackageFiles(managerConfig);
expect(res).toHaveLength(0);
});
it('returns empty of manager is not enabled', async () => {
config.enabledManagers = ['npm'];
const managerConfig = { manager: 'docker', enabled: true };
const res = await getManagerPackageFiles(managerConfig);
expect(res).toHaveLength(0);
});
it('skips files if null content returned', async () => {
const managerConfig = { manager: 'npm', enabled: true };
fileMatch.getMatchingFiles.mockReturnValue(['package.json']);
const res = await getManagerPackageFiles(managerConfig);
expect(res).toHaveLength(0);
});
it('returns files with extractPackageFile', async () => {
const managerConfig = {
manager: 'html',
enabled: true,
fileList: ['Dockerfile'],
};
fileMatch.getMatchingFiles.mockReturnValue(['Dockerfile']);
fs.readLocalFile.mockResolvedValueOnce('some content');
html.extractPackageFile = jest.fn(() => ({
deps: [{}, { replaceString: 'abc' }],
})) as never;
const res = await getManagerPackageFiles(managerConfig);
expect(res).toMatchSnapshot();
});
it('returns files with extractAllPackageFiles', async () => {
const managerConfig = {
manager: 'npm',
enabled: true,
fileList: ['package.json'],
};
fileMatch.getMatchingFiles.mockReturnValue(['package.json']);
fs.readLocalFile.mockResolvedValueOnce(
'{"dependencies":{"chalk":"2.0.0"}}'
);
const res = await getManagerPackageFiles(managerConfig);
expect(res).toMatchSnapshot();
});
});
});