Skip to content

[ADD] dms: Hoot JS test suite + HttpCase wiring#9

Open
dnplkndll wants to merge 1 commit into
19.0-imp-dms-uxfrom
19.0-add-dms-hoot-tests
Open

[ADD] dms: Hoot JS test suite + HttpCase wiring#9
dnplkndll wants to merge 1 commit into
19.0-imp-dms-uxfrom
19.0-add-dms-hoot-tests

Conversation

@dnplkndll
Copy link
Copy Markdown

Hoot JS test suite covering the UX surface introduced in #3. Fork-only — pre-upstream iteration; will be split before any upstream submission.

Base: 19.0-imp-dms-ux (#3) · Head: 19.0-add-dms-hoot-tests · Stacked under #7 (CI) and #8 (libreoffice preview).

What the branch adds

  • dms/tests/test_hoot.py — wires HttpCase.browser_js against /web/tests?...&filter="@dms". The double-quoted form forces Hoot's ?filter= into exact-substring matching; bare @dms is fuzzy character-order and runs the bundled web-core suite by accident.
  • dms/tests/test_backend_tours.pystart_tour wiring for dms_kanban_density_tour.
  • 8 Hoot test files under dms/static/tests/:
    • components/dms_stat_bar.test.js — dashboard tiles + sparkline geometry
    • components/file_preview_pane.test.js — header buttons + load lifecycle + dispatch
    • components/preview_handlers.test.js — per-handler URL builders + dispatch + mimetype fallback
    • components/preview_registry.test.js — registration + score sort + match()
    • views/file_kanban_buttons.test.js — Upload / Scan / file input
    • views/file_kanban_mount.test.js — mount regressions (boolean attr serialization, regex-literal QWeb)
    • views/file_renderer_preview_routing.test.js — row click → preview-pane state
    • tours/dms_kanban_density_tour.esm.js — comfortable / compact / list switching + persistence
  • Test infra notes:
    • defineMailModels() covers the mock-server base because dms depends on mail. defineWebModels() alone is insufficient.
    • expect.errors(N) + verifyErrors(patterns) replaces the array-of-objects form Hoot rejects.

CI

GitHub Actions on the ledoent org is currently throttled by Actions abuse-detection (see #7 body). Runboat preview builds pass.

@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch 5 times, most recently from ddcb35c to 8093e04 Compare May 28, 2026 23:46
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch 3 times, most recently from 83e0437 to 6a92e5d Compare May 29, 2026 00:45
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch 4 times, most recently from 8a267e9 to f7e718e Compare May 29, 2026 11:49
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch from f7e718e to ae7c486 Compare May 29, 2026 12:06
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch 2 times, most recently from 3e7fe81 to acfc5d6 Compare May 29, 2026 15:13
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch from acfc5d6 to 020a378 Compare May 29, 2026 19:36
@dnplkndll dnplkndll force-pushed the 19.0-imp-dms-ux branch 2 times, most recently from 35f61e8 to 9929ce9 Compare May 29, 2026 20:42
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch from 020a378 to 581edfa Compare May 29, 2026 20:52
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch 2 times, most recently from 70614eb to e642c19 Compare May 30, 2026 01:08
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch from e642c19 to 2e2edbf Compare May 30, 2026 01:24
Fork-only — pre-upstream iteration. Hoot suite for the UX surfaces
introduced in the parent UX PR. Run via HttpCase against the runboat or
locally with --test-enable.

Hoot test suite (tests/test_hoot.py + tests/test_backend_tours.py)
- tests/test_hoot.py wires HttpCase.browser_js with
  /web/tests?...&filter="@DMS" — Hoot's ?filter= defaults to fuzzy
  character-order matching; the double-quoted exact-substring form
  isolates @dms/... test paths from the bundled web-core suite.
- 9 Hoot test files cover the UX surface:
    dms_stat_bar (dashboard tiles + sparklines)
    file_preview_pane (header, load, dispatch)
    preview_handlers (URL builders + dispatch + mimetype fallback)
    preview_registry (registration + score sort)
    file_kanban_buttons / _density / _mount / _list_renderer routing
- defineMailModels() covers the mock-server base because dms depends on
  mail; expect.errors(N) + verifyErrors(patterns) replaces the
  array-of-objects form Hoot rejects.
- Tour: dms_kanban_density_tour covers comfortable / compact / list
  switching + persistence across reloads.
@dnplkndll dnplkndll force-pushed the 19.0-add-dms-hoot-tests branch from 2e2edbf to d09e8ae Compare May 30, 2026 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant