feat: add project-scoped operations
Generic Container CI/CD / test-build-publish (push) Failing after 6s
Server CI/CD v2 / build-test-publish-and-deploy (push) Failing after 6s

This commit is contained in:
2026-10-22 18:40:20 +08:00
parent d320972d57
commit 1d061f6099
73 changed files with 4384 additions and 228 deletions
@@ -603,3 +603,16 @@ async def test_remove_project_member_rejects_self_membership_change(monkeypatch)
assert exc.value.status_code == 403
repo.remove_project_member.assert_not_called()
admin_metadata.log_audit_event.assert_not_called()
def test_project_map_config_accepts_search_and_preserves_extra_options():
from pydantic import ValidationError
from app.domain.schemas.admin_metadata import AdminProjectUpdateRequest
config = {'legend': 'original', 'place_search': {
'enabled': True, 'provider': 'tianditu', 'admin_code': '341126', 'region': '凤阳县'}}
request = AdminProjectUpdateRequest(map_config=config)
assert request.model_dump(exclude_unset=True)['map_config'] == config
with pytest.raises(ValidationError):
AdminProjectUpdateRequest(map_config=None)
with pytest.raises(ValidationError):
AdminProjectUpdateRequest(map_config={'place_search': {'enabled': True, 'admin_code': 'wrong', 'region': '凤阳县'}})