mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-05 06:45:09 +00:00
ci: run the web UI DOM test suites; fix two stale suites (#660)
A new "Web UI JS tests" job installs jsdom, starts the web interface in emulator mode and runs test/js/run_all.js with REQUIRE_DOM=1, which makes a DOM suite that can't run a failure rather than a silent skip. (The unit suites were already covered through pytest.) Two suites failed against main when run for real: - test_tools_sections rendered the Tools partial without LEDEscape, which base.html's app-early.js defines; it now installs it in beforeParse, and supplies two sample Starlark apps (one id with a quote) when the server has none, instead of assuming a device with apps and Pixlet. - test_store_dom assumed the live registry had at most 48 plugins; it now checks pagination whichever side of 48 it is. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+9
-1
@@ -29,7 +29,15 @@ BASE=http://<pi-ip>:5000 node run_all.js
|
||||
```
|
||||
|
||||
`run_all.js` skips the DOM suites (rather than failing) when jsdom is missing or
|
||||
nothing is listening, so it stays useful in a bare checkout.
|
||||
nothing is listening, so it stays useful in a bare checkout. `REQUIRE_DOM=1`
|
||||
makes that a failure instead.
|
||||
|
||||
CI runs everything: the **Web UI JS tests** job in `.github/workflows/test.yml`
|
||||
installs jsdom, starts the web interface in emulator mode on port 5000 and runs
|
||||
`run_all.js` with `REQUIRE_DOM=1`. The DOM suites don't assume a particular
|
||||
device: the store suite checks pagination whichever side of 48 plugins the live
|
||||
registry is, and the Tools suite supplies two sample Starlark apps when the
|
||||
server has none.
|
||||
|
||||
## The suites
|
||||
|
||||
|
||||
Reference in New Issue
Block a user