odysseus/tests/helpers
Léo 8a95ec9299 refactor(settings): extract four panels into settings/ modules
static/js/settings.js was 5,721 lines behind a four-name public surface.
static/js/settings/ already existed with dom, registry, search, sidebar,
navigation and lifecycle, so this continues that package rather than
inventing a layout.

Moved verbatim, 407 lines:

  settings/speech.js        initTtsSettings, initSttSettings
  settings/writingStyle.js  initDocumentWritingStyle
  settings/imageModels.js   initImageSettings
  settings/agent.js         initAgentSettings
  settings/api.js           postSettings, lifted from _postSettings

These five were chosen because their only dependencies outside themselves
were el/byId, _postSettings and sortModelIds. Panels with wider reach stay
put: initEmailAccountsSettings, for instance, pulls a 64-declaration closure
covering most of the file, and splitting that is a design change rather than
a move.

settings.js keeps its public surface exactly: open, close,
refreshAiModelEndpoints and the default export, verified in a browser.

Three test updates the move required:

- tests/helpers/test_settings_shell_coordinator.mjs allowlists the real
  modules the coordinator may import, and rejected the new ones. That guard
  working is the reason to trust the rest of this diff.
- two source-introspection tests read settings.js for behaviour that now
  lives in a panel module. They read the whole settings surface now, so the
  next extraction does not break them again.
2026-09-30 09:04:20 +02:00
..
__init__.py refactor(tests): add shared CLI test helpers 2026-06-04 15:44:25 +01:00
calendar_routes.py test: localize calendar recurrence helper import (#4944) 2026-06-28 19:04:15 +02:00
cli_loader.py refactor(tests): add shared CLI test helpers 2026-06-04 15:44:25 +01:00
db_stubs.py test: pilot core database stub helper (#3685) 2026-06-09 22:23:33 +02:00
embedding_lanes.py test: split embedding lane tests (#4389) 2026-06-26 18:28:40 +02:00
import_state.py refactor(tests): centralize fake endpoint resolver cleanup 2026-06-05 13:23:46 +01:00
sqlite_db.py refactor(tests): add temp sqlite helper (#2930) 2026-06-07 23:44:16 +02:00
stylesheets.py refactor(css): move document, gallery and image-editor styles to their own file 2026-09-23 16:12:51 +02:00
test_settings_shell.js refactor(settings): add registry-backed navigation and finder (#6040) 2026-08-16 02:48:19 +01:00
test_settings_shell_coordinator.mjs refactor(settings): extract four panels into settings/ modules 2026-09-30 09:04:20 +02:00