feat: manage tenant appearance defaults
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user