feat: manage tenant appearance defaults

This commit is contained in:
2026-08-20 07:03:28 +02:00
parent 56f0661a10
commit c5119ab868
8 changed files with 162 additions and 18 deletions
+6 -2
View File
@@ -17,6 +17,7 @@ from govoplan_tenancy.backend.api.v1.schemas import (
TenantUpdateRequest,
)
from govoplan_core.core.module_entitlements import MODULE_ENTITLEMENTS_KEY
from govoplan_core.core.appearance import APPEARANCE_SETTINGS_KEY
from govoplan_tenancy.backend.lifecycle import (
TENANT_EVENT_CREATED,
TENANT_EVENT_DELETION_REQUESTED,
@@ -135,18 +136,20 @@ class TenantUpdateHelperTests(unittest.TestCase):
self.assertEqual("de", tenant.default_locale)
self.assertEqual({"theme": "contrast"}, tenant.settings)
def test_tenant_content_update_preserves_reserved_module_entitlements(self) -> None:
def test_tenant_content_update_preserves_reserved_governed_settings(self) -> None:
entitlement = {"schema_version": 1, "revision": 4}
appearance = {"default_palette": "forest", "palette_locked": True}
tenant = SimpleNamespace(
name="Old",
description=None,
default_locale="en",
settings={MODULE_ENTITLEMENTS_KEY: entitlement, "theme": "old"},
settings={MODULE_ENTITLEMENTS_KEY: entitlement, APPEARANCE_SETTINGS_KEY: appearance, "theme": "old"},
)
payload = TenantUpdateRequest(
settings={
"theme": "contrast",
MODULE_ENTITLEMENTS_KEY: {"revision": 999},
APPEARANCE_SETTINGS_KEY: {"default_palette": "plum", "palette_locked": False},
}
)
@@ -154,6 +157,7 @@ class TenantUpdateHelperTests(unittest.TestCase):
self.assertEqual("contrast", tenant.settings["theme"])
self.assertEqual(entitlement, tenant.settings[MODULE_ENTITLEMENTS_KEY])
self.assertEqual(appearance, tenant.settings[APPEARANCE_SETTINGS_KEY])
def test_tenant_status_update_prevents_suspending_current_tenant(self) -> None:
tenant = SimpleNamespace(id="tenant-1", is_active=True)