Files
portal/tests/aerosim-delivery-rollup.test.mjs
T
jarvis-at-skic 61aa7d6454
Build and publish Corp v1 Board portal / build (pull_request) Successful in 40s
[verified] docs: update AeroSim Wave 15 roll-up
2026-09-07 04:40:52 +00:00

40 lines
2.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import assert from 'node:assert/strict';
import {readFile} from 'node:fs/promises';
import test from 'node:test';
const project = await readFile(new URL('../docs/projects/aerosim.md', import.meta.url), 'utf8');
const packageJson = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
const lockfile = await readFile(new URL('../pnpm-lock.yaml', import.meta.url), 'utf8');
test('AeroSim portfolio roll-up reports the verified Wave 15 checkpoint', () => {
assert.match(project, /## Delivery progress checkpoint — 2026-09-07/);
assert.match(project, /Canonical `ToBeReleased` \| 49 \/ 114 \(43\.0%\)/);
assert.match(project, /Repository-verified implementation pending reconciliation \| 6 \/ 114 \(5\.3%\)/);
assert.match(project, /Canonical `InProgress` \| 7 \/ 114 \(6\.1%\)/);
assert.match(project, /Canonical `ReadyForDelivery` \| 58 \/ 114 \(50\.9%\)/);
assert.match(project, /Released \| 0 \/ 114 \(0\.0%\)/);
assert.match(project, /Wave 15 is active/);
assert.match(project, /6 of its 7 Tasks are repository-verified/);
assert.match(project, /`TASK-0048`, `TASK-0061`, `TASK-0065`, `TASK-0077`, `TASK-0083`, and `TASK-0111`/);
assert.match(project, /`TASK-0078` remains canonical `InProgress`[^\n]*PR #92 is closed without merge/);
assert.match(project, /`09628fbb828380fbe159be7530da26f4bbf02129`/);
assert.match(project, /`d8a45594c33efc3acbd1523955d4f235facc9a1f`/);
assert.match(project, /PRs #85, #89, #90, #95, #96, and #97/);
assert.match(project, /integrated tasks `2718`–`2720`/);
assert.match(project, /Waves 9–11 and 16–30 remain ready but unclaimed/);
assert.doesNotMatch(project, /Repository-verified implementation pending reconciliation \| 0 \/ 114/);
assert.doesNotMatch(project, /`7f26eca79eadef3171564fc60035e9866c2c848e`/);
assert.doesNotMatch(project, /Wave 3 is active/);
});
test('portal pins patched audit dependencies without downgrading consumers', () => {
assert.deepEqual(packageJson.pnpm?.overrides, {
'fast-uri': '3.1.6',
'serialize-javascript': '7.0.3',
});
assert.match(lockfile, /fast-uri@3\.1\.6:/);
assert.match(lockfile, /serialize-javascript@7\.0\.3:/);
assert.doesNotMatch(lockfile, /fast-uri@3\.1\.5:/);
assert.doesNotMatch(lockfile, /serialize-javascript@6\.0\.2:/);
});