backport
Version:
A CLI tool that automates the process of backporting commits
63 lines • 2.39 kB
JavaScript
;
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