| 12345678910111213141516171819202122232425262728 |
- import { expect, test } from "bun:test"
- import { reviewDraftKey, saveReviewDraft, takeReviewDraft } from "../src/util/software-review-draft"
- import type { Review } from "../src/util/software-review"
- test("selection drafts do not cross credentials and never restore into a finished task", () => {
- const connection = { url: "http://127.0.0.1:9999", apiKey: "synthetic-key" }
- const key = reviewDraftKey(connection, "draft-test")
- const other = reviewDraftKey({ ...connection, apiKey: "different-operator" }, "draft-test")
- const state: Review = {
- id: "draft-test",
- revision: 1,
- project: "Example",
- phase: "awaiting_selection",
- coverage: {},
- candidates: [],
- decisions: {},
- proposal: null,
- execution: null,
- }
- saveReviewDraft(key, { revision: 1, scope: "structure", decisions: {} })
- expect(takeReviewDraft(other, state)).toBeUndefined()
- expect(takeReviewDraft(key, { ...state, phase: "accepted_for_delivery" })).toEqual({
- status: "outdated",
- revision: 1,
- })
- expect(takeReviewDraft(key, state)).toBeUndefined()
- expect(key).not.toContain(connection.apiKey)
- })
|