Select Git revision
check-existing.spec.js 1.66 KiB
const {
prAlreadyExisted,
} = require('../../../lib/workers/branch/check-existing');
const defaultConfig = require('../../../lib/config/defaults').getConfig();
const logger = require('../../_fixtures/logger');
describe('workers/branch/check-existing', () => {
describe('prAlreadyExisted', () => {
let config;
beforeEach(() => {
config = {
...defaultConfig,
api: { findPr: jest.fn() },
logger,
branchName: 'some-branch',
prTitle: 'some-title',
};
});
it('returns false if recreating closed PRs', async () => {
config.recreateClosed = true;
expect(await prAlreadyExisted(config)).toBe(false);
expect(config.api.findPr.mock.calls.length).toBe(0);
});
it('returns false if both checks miss', async () => {
config.recreatedClosed = true;
expect(await prAlreadyExisted(config)).toBe(false);
expect(config.api.findPr.mock.calls.length).toBe(2);
});
it('returns true if first check hits', async () => {
config.api.findPr.mockReturnValueOnce({});
expect(await prAlreadyExisted(config)).toBe(true);
expect(config.api.findPr.mock.calls.length).toBe(1);
});
it('returns true if second check hits', async () => {
config.api.findPr.mockReturnValueOnce(null);
config.api.findPr.mockReturnValueOnce({});
expect(await prAlreadyExisted(config)).toBe(true);
expect(config.api.findPr.mock.calls.length).toBe(2);
});
it('returns false if mistaken', async () => {
config.api.findPr.mockReturnValueOnce({
closed_at: '2017-10-15T21:28:07.000Z',
});
expect(await prAlreadyExisted(config)).toBe(false);
});
});
});