test: scaffold WP7-05 candidate UI gate
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 2m18s

This commit is contained in:
suyx
2026-08-04 16:58:15 +08:00
parent 5e2d4e7aaf
commit 33f87f8db3
4 changed files with 102 additions and 1 deletions
+20
View File
@@ -0,0 +1,20 @@
import test from 'node:test';
import assert from 'node:assert/strict';
import { validateCoverageEvidence, runWp705Gate, REQUIRED_COVERAGE_UNITS } from '../../scripts/lib/wp7-05-ui-gate.mjs';
test('WP7-05 requires all 22 coverage units and both exact candidate viewports', () => {
const result = validateCoverageEvidence({ coverage_units: [], viewports: [] });
assert.equal(result.status, 'externally_blocked');
assert.equal(result.code, 'coverage_units_incomplete');
assert.equal(result.missing.length, REQUIRED_COVERAGE_UNITS.length);
});
test('WP7-05 preserves upstream external blockers instead of declaring Green', () => {
const result = runWp705Gate({
candidatePath: 'missing-release-candidate.json',
evidence: null,
dependencies: { 'TASK-WP7-03': 'externally_blocked' },
});
assert.equal(result.status, 'externally_blocked');
assert.equal(result.code, 'candidate_record_missing');
});