feat: add Repair Center operations view

This commit is contained in:
lussierj committed 2026-08-11 20:17:16 +00:00
1 parent 786a1ab910
commit 4a1959ecd6
14 files changed
+1963 -338

No files matched your search

+17 -10
View File
@@ -209,8 +209,11 @@ class FrontendShellTests(unittest.TestCase):
self.assertIn("@media (max-width: 560px)", css)
self.assertIn(":focus-visible", css)
self.assertIn(".skip-link", css)
self.assertIn('response.status === 401', javascript)
self.assertIn('response.status === 403', javascript)
repair_center = (STATIC_ROOT / "repair-center.js").read_text(
encoding="utf-8"
)
self.assertIn('response.status === 401', repair_center)
self.assertIn('response.status === 403', repair_center)
self.assertIn('credentials: "same-origin"', javascript)
def test_static_assets_are_served_without_an_api_route(self):
@@ -401,14 +404,18 @@ class FrontendShellTests(unittest.TestCase):
def test_javascript_uses_safe_dom_and_strict_failure_states(self):
javascript = (STATIC_ROOT / "app.js").read_text(encoding="utf-8")
for unsafe in ("innerHTML", "insertAdjacentHTML", "document.write"):
self.assertNotIn(unsafe, javascript)
self.assertIn("element.textContent = values.text", javascript)
self.assertIn("cell.textContent = text(content)", javascript)
self.assertIn("encodeURIComponent(repair.miner_id)", javascript)
self.assertIn("new AbortController()", javascript)
self.assertIn("invalid repair response", javascript)
self.assertIn("window.location.replace", javascript)
repair_center = (STATIC_ROOT / "repair-center.js").read_text(
encoding="utf-8"
)
for source in (javascript, repair_center):
for unsafe in ("innerHTML", "insertAdjacentHTML", "document.write"):
self.assertNotIn(unsafe, source)
self.assertIn("window.location.replace", source)
self.assertNotIn("/api/repairs/queue", javascript)
self.assertIn("new AbortController()", repair_center)
self.assertIn("cell.textContent = text(content)", repair_center)
self.assertIn("encodeURIComponent(item.miner_id)", repair_center)
self.assertIn("invalid Repair Center response", repair_center)
def test_fleet_page_is_semantic_responsive_and_permission_aware(self):
self.authenticate()