package domain_test import ( "git.cin.su/m/Assistant/contracts/work" "git.cin.su/m/Assistant/modules/work/domain" "testing" ) func TestEvolutionRequiresIndependentEvaluatorAndRollbackEvidence(t *testing.T) { c := work.EvolutionCandidate{ID: "c", ProposalRef: "p", ChangeLevel: work.EvolutionBehavior, CreatorIdentity: "creator", RollbackRef: "rollback", SandboxEvidenceRefs: []work.EvidenceRef{"sandbox"}, BenchmarkEvidenceRefs: []work.EvidenceRef{"benchmark"}} e := work.EvolutionEvaluation{CandidateRef: "c", EvaluatorIdentity: "creator", Approved: true, MustNotWorsenPassed: true, EvidenceRefs: []work.EvidenceRef{"eval"}, RecordedAtUnixMillis: 1} if domain.PromoteEvolution(c, e) { t.Fatal("creator promoted own change") } e.EvaluatorIdentity = "independent" if !domain.PromoteEvolution(c, e) { t.Fatal("independently evaluated candidate rejected") } }