поправлен маппинг с отсортированными элементами в инпутах

This commit is contained in:
2026-08-20 11:34:03 +03:00
parent 38aa23cebe
commit 3f2d5caa4a
4 changed files with 35 additions and 13 deletions

View File

@@ -0,0 +1,28 @@
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
JS = (ROOT / "hockey_data/static/admin-directories.js").read_text(encoding="utf-8")
CSS = (ROOT / "hockey_data/static/admin-directories.css").read_text(encoding="utf-8")
AGENT = (ROOT / "hockey_data/agent_bridge.py").read_text(encoding="utf-8")
def test_mapping_data_group_count_is_right_aligned_before_fixed_arrow():
assert ".hockey-map-data-group summary b{margin-left:auto" in CSS
assert ".hockey-map-data-group summary::after{width:14px;flex:0 0 14px;text-align:center}" in CSS
assert ".hockey-map-data-group summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}" in CSS
def test_mapping_vmix_input_selector_preserves_inventory_api_order():
start = JS.index("function mappingInventoryInputs(profile)")
end = JS.index("function mappingInputByKey", start)
block = JS[start:end]
assert "return Array.isArray(profile?.inventory?.inputs) ? [...profile.inventory.inputs] : [];" in block
assert ".sort(" not in block
assert "numberValue" not in block
def test_server_preserves_agent_inventory_array_order():
# receive_inventory iterates the Agent-provided inputs and appends in that order.
assert "for raw_input in inputs:" in AGENT
assert "clean_inputs.append({" in AGENT
assert '"inputs": clean_inputs' in AGENT

View File

@@ -17,13 +17,13 @@ def test_mapping_load_is_resilient_per_endpoint():
assert 'Часть Mapping API недоступна' in JS
def test_visual_mapping_has_sql_table_cell_picker_and_searchable_ordered_inputs():
def test_visual_mapping_has_sql_table_cell_picker_and_searchable_api_order_inputs():
assert 'data-map-table-source' in JS
assert 'data-map-table-row-search' in JS
assert '.row.${row.index}.' in JS
assert 'data-map-input-search' in JS
assert 'mappingFilteredInputs' in JS
assert 'return inputs.sort' in JS
assert 'return Array.isArray(profile?.inventory?.inputs) ? [...profile.inventory.inputs] : [];' in JS
def test_visual_mapping_has_explicit_sql_cell_dropdowns_and_apply_input():