UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

63 lines 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const rest_1 = require("@octokit/rest"); const getDevAccessToken_1 = require("../../private/getDevAccessToken"); const runBackportViaCli_1 = require("./runBackportViaCli"); const accessToken = (0, getDevAccessToken_1.getDevAccessToken)(); const octokit = new rest_1.Octokit({ auth: accessToken }); jest.setTimeout(25000); describe('backport-org/repo-with-reviewed-pull-requests', () => { let pullRequest; beforeAll(async () => { await closeOpenPullRequests(octokit); const { output } = await (0, runBackportViaCli_1.runBackportViaCli)([ '--repo=backport-org/repo-with-reviewed-pull-requests', '--copy-source-pr-reviewers', '--copy-source-pr-labels', '--pr=2', '--branch=production', '--no-fork', `--accessToken=${accessToken}`, '--json', ]); const backportResults = JSON.parse(output).results; const pullRequestNumber = backportResults[0].pullRequestNumber; pullRequest = await getPullRequest(pullRequestNumber); }); it('copies labels over', async () => { const labels = pullRequest.data.labels.map((l) => l.name); expect(labels).toEqual([ 'documentation', 'enhancement', 'good first issue', ]); }); it('copies reviewers over', async () => { const reviewers = pullRequest.data.requested_reviewers?.map((r) => r.login); expect(reviewers).toEqual(['backport-demo-user']); }); }); function getPullRequest(pullNumber) { return octokit.pulls.get({ owner: 'backport-org', repo: 'repo-with-reviewed-pull-requests', pull_number: pullNumber, }); } async function closeOpenPullRequests(octokit) { const openPulls = await octokit.pulls.list({ owner: 'backport-org', repo: 'repo-with-reviewed-pull-requests', state: 'open', }); await Promise.all(openPulls.data.map(async (pull) => { // close pull request await octokit.pulls.update({ owner: 'backport-org', repo: 'repo-with-reviewed-pull-requests', pull_number: pull.number, state: 'closed', }); })); } //# sourceMappingURL=copy-reviewers-to-target-pull-request.private.test.js.map