mirror of
https://github.com/renovatebot/renovate.git
synced 2026-11-01 02:00:10 +00:00
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
import { fs, logger } from '~test/util.ts';
|
|
import * as _merge from '../init/merge.ts';
|
|
import { getReconfigureBranchName, getReconfigureConfig } from './utils.ts';
|
|
|
|
vi.mock('../../../util/fs/index.ts');
|
|
vi.mock('../init/merge.ts');
|
|
|
|
const merge = vi.mocked(_merge);
|
|
const reconfigureBranch = 'renovate/reconfigure';
|
|
|
|
describe('workers/repository/reconfigure/utils', () => {
|
|
describe('getReconfigureConfig()', () => {
|
|
beforeEach(() => {
|
|
merge.detectConfigFile.mockResolvedValue('renovate.json');
|
|
});
|
|
|
|
it('no config file found', async () => {
|
|
merge.detectConfigFile.mockResolvedValue(null);
|
|
const res = await getReconfigureConfig(reconfigureBranch);
|
|
expect(res).toMatchObject({
|
|
ok: false,
|
|
errMessage: 'Validation Failed - No config file found',
|
|
});
|
|
});
|
|
|
|
it('handles error while reading reconfigure config file', async () => {
|
|
fs.readLocalFile.mockResolvedValue(null);
|
|
const res = await getReconfigureConfig(reconfigureBranch);
|
|
expect(res).toMatchObject({
|
|
ok: false,
|
|
errMessage: 'Validation Failed - Invalid config file',
|
|
configFileName: 'renovate.json',
|
|
});
|
|
});
|
|
|
|
it('handles invalid reconfigure config', async () => {
|
|
fs.readLocalFile.mockResolvedValue('{');
|
|
const res = await getReconfigureConfig(reconfigureBranch);
|
|
expect(res).toMatchObject({
|
|
ok: false,
|
|
errMessage: 'Validation Failed - Unparsable config file',
|
|
configFileName: 'renovate.json',
|
|
});
|
|
|
|
expect(logger.logger.debug).toHaveBeenCalledWith(
|
|
{ err: expect.any(Object) },
|
|
'Error while parsing config file',
|
|
);
|
|
});
|
|
|
|
it('return config', async () => {
|
|
merge.detectConfigFile.mockResolvedValue('package.json'); // using package.json for coverage
|
|
fs.readLocalFile.mockResolvedValue('{renovate: {}}');
|
|
const res = await getReconfigureConfig(reconfigureBranch);
|
|
expect(res).toMatchObject({
|
|
ok: true,
|
|
config: {},
|
|
configFileName: 'package.json',
|
|
});
|
|
});
|
|
});
|
|
|
|
describe('getReconfigureBranchName()', () => {
|
|
it('returns reconfigure branch name', () => {
|
|
expect(getReconfigureBranchName('renovate/')).toBe(
|
|
'renovate/reconfigure',
|
|
);
|
|
expect(getReconfigureBranchName('prefix/')).toBe('prefix/reconfigure');
|
|
});
|
|
});
|
|
});
|