Skip to content
Snippets Groups Projects
Select Git revision
21 results Searching

update.ts

Blame
  • check-existing.spec.ts 1.31 KiB
    import { defaultConfig, partial, platform } from '../../../test/util';
    import { PrState } from '../../types';
    import { BranchConfig } from '../common';
    import { prAlreadyExisted } from './check-existing';
    
    describe('workers/branch/check-existing', () => {
      describe('prAlreadyExisted', () => {
        let config: BranchConfig;
        beforeEach(() => {
          config = partial<BranchConfig>({
            ...defaultConfig,
            branchName: 'some-branch',
            prTitle: 'some-title',
          });
          jest.resetAllMocks();
        });
        it('returns false if recreating closed PRs', async () => {
          config.recreateClosed = true;
          expect(await prAlreadyExisted(config)).toBeNull();
          expect(platform.findPr).toHaveBeenCalledTimes(0);
        });
        it('returns false if check misses', async () => {
          config.recreatedClosed = true;
          expect(await prAlreadyExisted(config)).toBeNull();
          expect(platform.findPr).toHaveBeenCalledTimes(1);
        });
        it('returns true if first check hits', async () => {
          platform.findPr.mockResolvedValueOnce({ number: 12 } as never);
          platform.getPr.mockResolvedValueOnce({
            number: 12,
            state: PrState.Closed,
          } as never);
          expect(await prAlreadyExisted(config)).toEqual({ number: 12 });
          expect(platform.findPr).toHaveBeenCalledTimes(1);
        });
      });
    });