Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
All tests can be run with npm test
. To run a single test, you can execute the test files directly with node, e.g.
node test/happy-path-test.js
Here is a script that records fixtures and logs them to stdout. First run the build script, then run with GITHUB_TOKEN=... node my-script.js
. Create token with repo scope
// my-script.js
import { Octokit } from "@octokit/core";
import createPullRequest from "./pkg/dist-bundle/index.js";
const MyOctokit = Octokit.plugin(createPullRequest);
const octokit = new MyOctokit({
auth: process.env.GITHUB_TOKEN,
});
const fixtures = [];
octokit.hook.after("request", (response, options) => {
fixtures.push({
request: options,
response,
});
});
octokit.hook.error("request", (error, options) => {
fixtures.push({
request: options,
response: {
status: error.status,
headers: error.headers,
data: {
error: error.message,
documentation_url: error.documentation_url,
},
},
});
throw error;
});
octokit
.createPullRequest({
owner: "gr2m",
repo: "sandbox",
title: "One comes, one goes",
body: "because",
head: "test-branch-" + Math.random().toString(36).substr(2, 5),
changes: {
files: {
"path/to/file1.txt": "Content for file1",
"path/to/file2.txt": "Content for file2",
},
commit: "why",
},
})
.then(() => {
fixtures.forEach((fixture) => {
if (fixture.request.headers.authorization) {
fixture.request.headers.authorization = "token secret";
}
});
console.log(JSON.stringify(fixtures, null, 2));
});