Admin stazioni: campo Worker visione (URL), traduzioni e test (#45)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NABedeMX43pyXZbDNUgA5B
This commit is contained in:
Adriano
2026-10-11 17:39:22 +00:00
parent 275bbd1a5f
commit 40eed5c2af
4 changed files with 70 additions and 1 deletions
@@ -176,3 +176,41 @@ def test_station_list_page_renders_assigned_recipes(logged_in_client, mock_admin
resp = logged_in_client.get("/admin/stations")
assert resp.status_code == 200
assert b"REC-ABC" in resp.data
# --- Worker visione per stazione (#45) ---
def test_station_form_has_the_vision_worker_field(logged_in_client, mock_admin_api):
mock_admin_api.get.return_value = []
resp = logged_in_client.get("/admin/stations")
assert resp.status_code == 200
assert b"form.vision_worker_url" in resp.data
assert "Worker visione (URL)".encode() in resp.data
def test_station_list_exposes_the_vision_worker_url(logged_in_client, mock_admin_api):
mock_admin_api.get.side_effect = [
[{"id": 1, "code": "ST-001", "name": "Linea A", "location": None,
"notes": None, "active": True, "vision_worker_url": "http://10.0.0.7:8100",
"created_by": 1, "created_at": "2026-04-25T10:00:00"}],
[],
]
resp = logged_in_client.get("/admin/stations")
assert b"http://10.0.0.7:8100" in resp.data # nel JSON iniziale della pagina
def test_station_proxies_pass_the_vision_worker_url_untouched(logged_in_client, mock_admin_api):
mock_admin_api.post.return_value = {"id": 7, "code": "ST-7", "name": "n"}
mock_admin_api.put.return_value = {"id": 7, "code": "ST-7", "name": "n"}
logged_in_client.post(
"/admin/api/stations",
json={"code": "ST-7", "name": "n", "vision_worker_url": "http://w:8100"},
)
mock_admin_api.post.assert_called_once_with(
"/api/stations",
data={"code": "ST-7", "name": "n", "vision_worker_url": "http://w:8100"},
)
logged_in_client.put("/admin/api/stations/7", json={"vision_worker_url": None})
mock_admin_api.put.assert_called_once_with(
"/api/stations/7", data={"vision_worker_url": None},
)