Frontend unit tests cover durations, colours, statistics and health (closes #21)
check / check (push) Successful in 4m19s
check / check (push) Successful in 4m19s
New table-driven tests in test/unit/main.test.js: humanDuration, the figure and sparkline colours either side of each latency boundary, a target's min, max, average and median over empty, all-unreachable and mixed histories, and the four health states either side of their thresholds. src/main.js exports the four names they need. package.json gains a test script, which script/frontend-test runs with the dot reporter and, if a test fails, again with the spec reporter before failing. NODE_OPTIONS picks the reporter, since yarn appends its arguments after the test files. Model: opus-5-5
This commit is contained in:
@@ -23,6 +23,16 @@ latest run passes.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-03: the frontend's unit tests cover what the page computes (issue
|
||||
#21): `humanDuration`, the latency colours of a figure and of a sparkline
|
||||
either side of each boundary, a target's min, max, average and median latency
|
||||
over an empty history, an all-unreachable one and a mixed one, and each of the
|
||||
four health states either side of its thresholds. `package.json` has a `test`
|
||||
script, so `yarn run test` and `npm run test` run them, and
|
||||
`script/frontend-test` runs it: quietly, and if a test fails, again with every
|
||||
test listed, and then fails. `src/main.js` now exports `humanDuration`,
|
||||
`HostState`, `latencyClass` and `latencyHex` for the tests; nothing it does
|
||||
changed
|
||||
- 2026-10-03: the frontend has a real linter (issue #47, and item 2 of issue
|
||||
#28): `eslint` with its recommended rules, set in `eslint.config.js`, runs in
|
||||
a new `frontend-lint` stage of `Dockerfile`, which the frontend stage waits
|
||||
|
||||
Reference in New Issue
Block a user