mirror of
https://github.com/zvx-echo6/central.git
synced 2026-05-21 18:14:44 +02:00
fix(2-G.5): preview_for_settings contract in adapter docstring + distinguish [] from None
Fixup 1 — Contract section appended to SourceAdapter.preview_for_settings's docstring. Override authors read adapter.py, not routes.py, so the contract (pure function of settings; open your own short-lived aiohttp session; None vs [] semantics) belongs on the base method, not on the GUI stub class. Fixup 2 — _adapter_preview.html distinguishes [] from None. Previously the elif test was truthiness (`elif preview_rows`) which collapsed both into "render nothing". Now uses `elif preview_rows is not none` and special-cases the empty-list case inside: legend "Preview (0 rows)" with no table; None still renders nothing at all. Lets adapters signal "query ran, matched zero" distinctly from "preview not meaningful". Tests +1: - test_partial_renders_empty_list — [] yields "Preview (0 rows)" legend, no table, no headers. Distinct from the existing None case. Acceptance: - 27/27 targeted (preview_hook +1 new, nwis, stream_registry). - 458/458 full suite. - (b) framework GUI dir still has zero adapter-name branches.
This commit is contained in:
parent
ead6ef8ce1
commit
570b121276
3 changed files with 26 additions and 1 deletions
|
|
@ -106,3 +106,15 @@ def test_partial_renders_nothing_when_both_none():
|
|||
assert "Preview Unavailable" not in out
|
||||
# Either empty or only whitespace/newlines from the template.
|
||||
assert "Preview (" not in out
|
||||
|
||||
|
||||
def test_partial_renders_empty_list():
|
||||
"""Empty list -> legend with (0 rows), no table.
|
||||
|
||||
Distinct from None (which renders nothing at all). Lets adapters signal
|
||||
'query ran, matched zero rows' separately from 'preview not meaningful'.
|
||||
"""
|
||||
out = _render_partial(preview_rows=[], preview_error=None)
|
||||
assert "Preview (0 rows)" in out
|
||||
assert "<table" not in out
|
||||
assert "<th>" not in out
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue