admin fd93020f39 test(nav): pin the v0.146.0 accordion's server-side half
The collapsible sidebar is a progressive enhancement: the server marks the group
owning the active page with .is-open, so the correct group is open before any JS
runs and stays open if JS never runs. That server-side half is what these tests
pin — the part a browser screenshot confirms only for whichever page happened to
be open when the screenshot was taken.

Four properties, rendered through the real shared layout rather than a hand-built
fragment:
 - every sub-page opens its own group, with aria-expanded=true and an .active
   toggle, and EXACTLY ONE group open (the count is asserted, not just the group
   we expected);
 - a page outside any group (dashboard) opens nothing;
 - each group's landing page still exists as a sub-link — the property that made
   converting the headers from <a> to <button> safe. If someone drops one of
   those sub-links the destination becomes unreachable from the sidebar
   SILENTLY, because the header still looks clickable;
 - the toggle is a real <button> and its aria-controls targets an element that
   actually exists.

Red-proofed: removing `{{if $storageOpen}} is-open{{end}}` from layout.html
fails both the open-group assertion and the exactly-one-open count on the two
storage pages, then passes again when restored.

Note on verification: the live authenticated render could NOT be checked from
here — the demo controller's password is customer-owned since the claim flow
(Viktor set it during the 2026-07-18 rehearsal), so the credentials on the build
server are stale and a curl-login returns the Bejelentkezés page. These render
tests exercise the same template through the same loadTemplates() path the server
uses; the visual leg needs Viktor's browser.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nn3VgQk9iwEGgyx6QJ2NvE
2026-07-18 20:57:39 +02:00
2026-02-16 13:28:03 +01:00
2026-02-18 08:36:12 +01:00
2026-06-11 14:02:47 +02:00
S
Description
No description provided
90 MiB
Languages
Go 84.1%
HTML 11.1%
Shell 2.1%
CSS 1.8%
Python 0.6%
Other 0.2%