Select Git revision
kops.jsonnet
branchify.spec.ts 8.55 KiB
import { RenovateConfig, mocked } from '../../../../test/util';
import { getConfig } from '../../../config/defaults';
import { branchifyUpgrades } from './branchify';
import * as _flatten from './flatten';
const flattenUpdates = mocked(_flatten).flattenUpdates;
jest.mock('./flatten');
let config: RenovateConfig;
beforeEach(() => {
jest.resetAllMocks();
config = getConfig();
config.errors = [];
config.warnings = [];
});
describe('workers/repository/updates/branchify', () => {
describe('branchifyUpgrades()', () => {
it('returns empty', async () => {
flattenUpdates.mockResolvedValueOnce([]);
const res = await branchifyUpgrades(config, {});
expect(res.branches).toEqual([]);
});
it('returns one branch if one input', async () => {
flattenUpdates.mockResolvedValueOnce([
{
depName: 'foo',
branchName: 'foo-{{version}}',
version: '1.1.0',
prTitle: 'some-title',
updateType: 'minor',
packageFile: 'foo/package.json',
},
]);
config.repoIsOnboarded = true;
const res = await branchifyUpgrades(config, {});
expect(Object.keys(res.branches)).toHaveLength(1);
expect(res.branches[0].isMinor).toBe(true);
expect(res.branches[0].upgrades[0].isMinor).toBe(true);
});
it('deduplicates', async () => {
flattenUpdates.mockResolvedValueOnce([
{
depName: 'foo',
branchName: 'foo-{{version}}',
currentValue: '1.1.0',
newValue: '1.3.0',
prTitle: 'some-title',
updateType: 'minor',
packageFile: 'foo/package.json',
},
{
depName: 'foo',
branchName: 'foo-{{version}}',
currentValue: '1.1.0',
newValue: '1.2.0',
prTitle: 'some-title',
updateType: 'minor',
packageFile: 'foo/package.json',
},
]);
config.repoIsOnboarded = true;
const res = await branchifyUpgrades(config, {});
expect(Object.keys(res.branches)).toHaveLength(1);
expect(res.branches[0].isMinor).toBe(true);
expect(res.branches[0].upgrades[0].isMinor).toBe(true);
});
it('uses major/minor/patch slugs', async () => {
flattenUpdates.mockResolvedValueOnce([
{