PatientMD test report

2026-09-18 22:08:02 UTC · branch ? at ? · ran on Mac155.local · triggered by console:Mac155

deployable tree 240e7415da42 · 3,682 files — a deploy is gated on matching this exactly

failed run 20260918T220802Z-1ffe2871
Tests run
5
across 1 tier(s)
Passed
2
40.0% of those run
Failed
3
assertions that were evaluated and did not hold
Could not run
0
never reached an assertion
Skipped
0
deliberately not executed
Wall clock
23.5 s
whole run

Tiers

Backend · unit

Pure in-process tests — no database. These use the repo's `_FakeDB` or call functions directly, so they prove logic, not wiring.

Not selected for this run.
not run

Backend · integration

Tests that drive the mounted FastAPI app against a real Mongo. These are the ones that prove a route exists, is reachable, and is authorised — the class of defect unit tests have repeatedly passed straight through.

Not selected for this run.
not run

Frontend · unit

Node's built-in runner over the pure logic extracted into `lib/`. Fast and exhaustive over what it sees; it does not render a component or touch a route.

Not selected for this run.
not run

Frontend · component

Renders real React components and asserts on the produced markup — the tier that can catch a screen that never reaches its data or an overlay that is not a dialog.

Not selected for this run.
not run

End-to-end · Playwright

Drives a real browser against a running frontend and backend. Opt-in: it needs both servers up, and a tier that cannot reach them is reported as an error, never as a pass.

Not selected for this run.
not run

Compare · browser smoke on DEMO

Three walks of the monitoring script replayed against DEMO in real Chrome with the SAME walks/facts/mask code the nightly production comparison uses. A DOM change that breaks capture fails the gate here, not the night. DEMO only: a write step may execute there and never in production.

5 tests · 2 passed · 3 failed · 23.0 s

failed

Harness · self-test

The harness's own tests: the report model, the coverage ratchet, the console's queue and session, and the deploy gate. This tier exists because the gate now decides whether a deploy may happen — a broken gate would ship untested code and report success.

Not selected for this run.
not run

Static analysis

ruff, mypy and the TypeScript compiler — findings that need no test to run.

Not selected for this run.
not run

Coverage

No tier in this run produced coverage data.

API surface reached

No route measurement in this run — the backend tier did not execute, so nothing can be said about which endpoints are exercised.

Coverage over time

0%25%50%75%100%target 90%Backend 75%

Each point is one harness run, oldest at the left. Series are direct-labelled, so identity never rests on colour alone.

Failures and tests that could not run

TestOutcomeTier
smoke.test_compare_smoke::test_walk_replays_on_demo_and_every_shot_exists[parity_readonly]
AssertionError: walk parity_readonly on DEMO: ['step 0 (goto) failed: Error'] assert ['step 0 (got...ailed: Error'] == [] Left contains one more item: 'step 0 (goto) failed: Error' Use -v to get more diff
failedCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_facts_extraction_reads_the_seeded_rpm_listing
playwright._impl._errors.Error: Page.goto: Download is starting Call log: - navigating to "https://147-224-132-45.nip.io/dashboard/rpm/listing", waiting until "domcontentloaded"
failedCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_the_mask_leaves_no_first_column_value_readable_on_demo
playwright._impl._errors.Error: Page.goto: Download is starting Call log: - navigating to "https://147-224-132-45.nip.io/dashboard/rpm/listing", waiting until "domcontentloaded"
failedCompare · browser smoke on DEMO

All tests

Show every test in this run (5)
TestOutcomeTimeTier
smoke.test_compare_smoke::test_walk_replays_on_demo_and_every_shot_exists[daily_dashboard]passed11383 msCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_walk_replays_on_demo_and_every_shot_exists[one_alert]passed8267 msCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_walk_replays_on_demo_and_every_shot_exists[parity_readonly]failed68 msCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_facts_extraction_reads_the_seeded_rpm_listingfailed79 msCompare · browser smoke on DEMO
smoke.test_compare_smoke::test_the_mask_leaves_no_first_column_value_readable_on_demofailed225 msCompare · browser smoke on DEMO