13 lines
1.0 KiB
TypeScript
13 lines
1.0 KiB
TypeScript
import {describe,it,expect} from "vitest";
|
|
import {assertSelectionReview} from "../src/media/review-ledger.js";
|
|
const plan={hash:"abc123",segmentIds:["one"]};
|
|
const review={planHash:"abc123",reviewer:"Local user",policyCheckedAt:new Date().toISOString(),pictureAudioReviewed:true,referenceReviewed:true,storyReviewed:true,packagingReviewed:true,noUnresolvedFindings:true,segmentEvidence:[{segmentId:"one",observation:"Reviewed the complete selected span with original audio; nonsexual conversation."}]};
|
|
describe("selection review gate",()=>{
|
|
it("requires every real review and exact immutable plan hash",()=>{
|
|
expect(()=>assertSelectionReview(review,plan)).not.toThrow();
|
|
for(const field of ["pictureAudioReviewed","referenceReviewed","storyReviewed","packagingReviewed","noUnresolvedFindings"])expect(()=>assertSelectionReview({...review,[field]:false},plan)).toThrow();
|
|
expect(()=>assertSelectionReview({...review,planHash:"changed"},plan)).toThrow();
|
|
expect(()=>assertSelectionReview({...review,segmentEvidence:[]},plan)).toThrow();
|
|
});
|
|
});
|