{% if image.is_selected %}Ausgewählt{% endif %}
diff --git a/backend/templates/admin_dashboard.html b/backend/templates/admin_dashboard.html
index 34a0f84..6709f65 100644
--- a/backend/templates/admin_dashboard.html
+++ b/backend/templates/admin_dashboard.html
@@ -157,7 +157,7 @@
+
{% endif %}
{% if a.summary %}
Legal: {{ "OK" if a.legal_checked else "offen" }}
{% if a.selected_image_url %}
Hauptbild gesetzt
- Summary: {{ a.summary }}
diff --git a/backend/tests/test_admin_ui.py b/backend/tests/test_admin_ui.py
index ac8a615..666f0ea 100644
--- a/backend/tests/test_admin_ui.py
+++ b/backend/tests/test_admin_ui.py
@@ -2,6 +2,7 @@ import os
import tempfile
import unittest
from pathlib import Path
+from unittest.mock import patch
from fastapi.testclient import TestClient
@@ -139,6 +140,37 @@ class TestAdminUi(unittest.TestCase):
self.assertIsNotNone(article)
self.assertIn("selected_url", article.get("meta_json", ""))
+ @patch("backend.app.admin_ui.urlopen")
+ def test_image_proxy_returns_image_data(self, mock_urlopen) -> None:
+ class _FakeHeaders:
+ def get(self, key: str, default=None):
+ if key.lower() == "content-type":
+ return "image/jpeg"
+ return default
+
+ class _FakeResponse:
+ headers = _FakeHeaders()
+
+ def read(self):
+ return b"\xff\xd8\xff\xd9"
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ return False
+
+ mock_urlopen.return_value = _FakeResponse()
+
+ self.client.post(
+ "/admin/login",
+ data={"username": "admin", "password": "secret"},
+ follow_redirects=True,
+ )
+ res = self.client.get("/admin/images/proxy?url=https%3A%2F%2Fexample.org%2Fimg.jpg")
+ self.assertEqual(res.status_code, 200)
+ self.assertIn("image/jpeg", res.headers.get("content-type", ""))
+
if __name__ == "__main__":
unittest.main()