Initial curated projectbrain source from 8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5
This commit is contained in:
commit
5aa3e8d685
700 files changed
+132801
No files matched your search
@@ -0,0 +1,35 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { findReusableDeliveryPullRequest } from "../src/integrations/gitea/policy.js";
|
||||
import type { GiteaPullRequest } from "../src/integrations/gitea/types.js";
|
||||
|
||||
const head = "a".repeat(40);
|
||||
const merged: GiteaPullRequest = {
|
||||
id: 31, number: 31, title: "M18 evidence", state: "closed", merged: true,
|
||||
html_url: "https://example.test/pulls/31", created_at: "2026-09-07T00:00:00Z", updated_at: "2026-09-08T00:00:00Z",
|
||||
merge_commit_sha: "b".repeat(40), head: { ref: "chatgpt/evidence", sha: head }, base: { ref: "main", sha: "b".repeat(40) },
|
||||
};
|
||||
const select = (prs: GiteaPullRequest[]) => findReusableDeliveryPullRequest(prs, "chatgpt/evidence", "main", head);
|
||||
|
||||
describe("existing delivery PR reconciliation", () => {
|
||||
it("adopts the exact already-merged PR instead of opening an empty replacement", () => {
|
||||
expect(select([merged])).toBe(merged);
|
||||
});
|
||||
it("reuses an exact open review", () => {
|
||||
const open = { ...merged, merged: false, state: "open", merge_commit_sha: undefined };
|
||||
expect(select([open])).toBe(open);
|
||||
});
|
||||
it.each([
|
||||
{ ...merged, head: { ...merged.head, sha: "c".repeat(40) } },
|
||||
{ ...merged, head: { ...merged.head, ref: "chatgpt/other" } },
|
||||
{ ...merged, base: { ...merged.base, ref: "other" } },
|
||||
{ ...merged, merged: false },
|
||||
])("does not adopt stale, foreign or abandoned reviews", (pr) => {
|
||||
expect(select([pr])).toBeUndefined();
|
||||
});
|
||||
it("rejects ambiguous matching reviews", () => {
|
||||
expect(() => select([merged, { ...merged, id: 32, number: 32 }])).toThrow("AMBIGUOUS");
|
||||
});
|
||||
it("requires actual merge commit evidence", () => {
|
||||
expect(() => select([{ ...merged, merge_commit_sha: undefined }])).toThrow("MERGE_EVIDENCE_REQUIRED");
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user