fix: allow gh pr numbers after options
This commit is contained in:
@@ -196,6 +196,14 @@ export async function runGhCliPrFilesContract(): Promise<JsonRecord> {
|
||||
assertCondition(mock.requests.some((request) => request.method === "GET" && request.url === "/repos/pikasTech/unidesk/pulls/42/files?per_page=1&page=1"), "files endpoint should use bounded per_page", mock.requests);
|
||||
checks.push("gh pr files returns bounded REST file/stat JSON without raw patches");
|
||||
|
||||
mock.requests.length = 0;
|
||||
const filesOptionsFirst = await runCli(["gh", "pr", "files", "--repo", "pikasTech/unidesk", "--limit", "1", "42"], env);
|
||||
assertCondition(filesOptionsFirst.status === 0, "gh pr files should accept PR number after options", filesOptionsFirst.json ?? { stdout: filesOptionsFirst.stdout, stderr: filesOptionsFirst.stderr });
|
||||
const filesOptionsFirstData = dataOf(filesOptionsFirst.json ?? {});
|
||||
assertCondition(filesOptionsFirstData.command === "pr files" && filesOptionsFirstData.filesReturned === 1, "options-first pr files should return compact file summary", filesOptionsFirstData);
|
||||
assertCondition(mock.requests.some((request) => request.method === "GET" && request.url === "/repos/pikasTech/unidesk/pulls/42/files?per_page=1&page=1"), "options-first pr files should query the requested PR number", mock.requests);
|
||||
checks.push("gh pr files accepts the PR number after options");
|
||||
|
||||
mock.requests.length = 0;
|
||||
const stat = await runCli(["gh", "pr", "diff", "42", "--stat", "--repo", "pikasTech/unidesk", "--limit", "2"], env);
|
||||
assertCondition(stat.status === 0, "gh pr diff --stat should succeed", stat.json ?? { stdout: stat.stdout, stderr: stat.stderr });
|
||||
@@ -207,6 +215,14 @@ export async function runGhCliPrFilesContract(): Promise<JsonRecord> {
|
||||
assertCondition(statRows.every((file) => file.patch === undefined), "diff --stat file rows must not include patch", statRows);
|
||||
checks.push("gh pr diff --stat is a compact summary alias");
|
||||
|
||||
mock.requests.length = 0;
|
||||
const statOptionsFirst = await runCli(["gh", "pr", "diff", "--repo", "pikasTech/unidesk", "--stat", "--limit", "2", "42"], env);
|
||||
assertCondition(statOptionsFirst.status === 0, "gh pr diff --stat should accept PR number after options", statOptionsFirst.json ?? { stdout: statOptionsFirst.stdout, stderr: statOptionsFirst.stderr });
|
||||
const statOptionsFirstData = dataOf(statOptionsFirst.json ?? {});
|
||||
assertCondition(statOptionsFirstData.command === "pr diff --stat" && statOptionsFirstData.filesReturned === 2, "options-first pr diff --stat should return compact file summary", statOptionsFirstData);
|
||||
assertCondition(mock.requests.some((request) => request.method === "GET" && request.url === "/repos/pikasTech/unidesk/pulls/42/files?per_page=2&page=1"), "options-first pr diff --stat should query the requested PR number", mock.requests);
|
||||
checks.push("gh pr diff --stat accepts the PR number after options");
|
||||
|
||||
const rawDiff = await runCli(["gh", "pr", "diff", "42", "--repo", "pikasTech/unidesk"], env);
|
||||
assertCondition(rawDiff.status !== 0, "gh pr diff without --stat should fail closed", rawDiff.json ?? { stdout: rawDiff.stdout, stderr: rawDiff.stderr });
|
||||
const rawData = failedDataOf(rawDiff.json ?? {});
|
||||
|
||||
Reference in New Issue
Block a user