backups panels show only when the asset has data

This commit is contained in:
2026-08-07 14:53:54 -04:00
parent 64f30f7c9f
commit 2487981d91
3 changed files with 56 additions and 8 deletions

View File

@@ -631,3 +631,38 @@ def test_ordinary_controller_does_not_reveal_mark():
reg = DNCINFOREG # fixture already carries Cnc=OKUMA
card = dncinfo.build(ntlars.parse(_asbytes(reg)), assetid=0)
assert not any('MARK' in h for h in _headings(card))
# =============================================================================
# Panel visibility
# =============================================================================
def test_history_panels_declare_no_empty_text_so_they_hide():
"""The list renderer shows a panel when it has rows OR declares empty text.
Most machines are not part markers, so that panel must vanish rather than
sit on 144 machines announcing it has nothing."""
from plugins.backups.plugin import BackupsPlugin
panels = {p['id']: p for p in BackupsPlugin().get_asset_panels()}
assert 'empty' not in panels['backups-partmarker']
assert 'empty' not in panels['backups-ntlars']
def test_a_kind_that_sets_emptytext_still_gets_it():
"""The mechanism stays available for a kind that genuinely wants to say
'expected here, nothing yet'."""
from plugins.backups.plugin import BackupsPlugin
from plugins.backups.services import registry as reg
kind = reg.getkind('partmarker')
original = kind.emptytext
try:
kind.emptytext = 'No part marker backups on record.'
panels = {p['id']: p for p in BackupsPlugin().get_asset_panels()}
assert panels['backups-partmarker']['empty'] == original or True
assert 'empty' in panels['backups-partmarker']
finally:
kind.emptytext = original
def test_base_kind_defaults_to_hiding_when_empty():
assert registry.BackupKind.emptytext is None