Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

kops.jsonnet

Blame
  • 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([
            {