From 1c10e5b7985030c80c7ca13615140fdcc07464bb Mon Sep 17 00:00:00 2001 From: Lars Date: Sun, 26 Jul 2026 18:00:22 +0200 Subject: [PATCH] fix(tests): omCapabilities nach UI-Profil-Merge normalisieren test_resolve_ui_profile_merges_seed_slices_when_db_partial erwartet omCapabilities aus dataSlices wenn DB-Profil unvollstaendig ist. --- backend/services/operating_context.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/backend/services/operating_context.py b/backend/services/operating_context.py index e122ce3..ede67fd 100644 --- a/backend/services/operating_context.py +++ b/backend/services/operating_context.py @@ -54,20 +54,27 @@ def _seed_ui_profile(archetype_key: str) -> dict[str, Any]: return resolve_ui_profile(archetype_key) +def _normalize_ui_profile_capabilities(profile: dict[str, Any]) -> dict[str, Any]: + """Spiegelt resolve_ui_profile: omCapabilities aus dataSlices falls fehlend.""" + result = dict(profile) + slices = list(result.get("dataSlices") or []) + caps = list(result.get("omCapabilities") or slices) + result["dataSlices"] = slices + result["omCapabilities"] = caps + return result + + def _resolve_ui_profile(archetype_key: str) -> dict[str, Any]: seed_profile = _seed_ui_profile(archetype_key) db_profile = _load_ui_profile_from_db(archetype_key) if not db_profile: - return seed_profile + return _normalize_ui_profile_capabilities(seed_profile) merged = {**seed_profile, **db_profile} if not (merged.get("omCapabilities") or merged.get("dataSlices")): seed_slices = seed_profile.get("dataSlices") or [] merged["dataSlices"] = list(seed_slices) - merged["omCapabilities"] = list( - seed_profile.get("omCapabilities") or seed_slices - ) - return merged + return _normalize_ui_profile_capabilities(merged) def _resolve_om_capabilities(ui_profile: dict[str, Any]) -> frozenset[str]: