fix(ci): fix 3 pre-existing CI failures + doc updates

- i18n: add 115 missing EN translation keys (parity with FA)
- csrf: test /dashboard-legacy/keys (SPA owns /dashboard/*)
- oauth: add tier scopes to test fixture allowed_scopes
- DOCKER_README: v3.13.0 — remove Appwrite/Directus, clarify 8 plugins
- getting-started: remove Appwrite/Directus, add Coolify endpoint row
- Overview.tsx: fix Lang type for AdminStatsPanel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 00:05:33 +02:00
parent 43fd2201a0
commit 349913ca2d
7 changed files with 212 additions and 71 deletions

View File

@@ -4,8 +4,8 @@ from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from core.settings import get_cached_max_sites
from core.site_api import (
MAX_SITES_PER_USER,
create_user_site,
delete_user_site,
get_credential_fields,
@@ -225,7 +225,7 @@ class TestSiteCreation:
@pytest.mark.unit
async def test_create_site_max_limit(self, mock_db, mock_encryption):
"""Exceeding MAX_SITES_PER_USER should raise ValueError."""
mock_db.count_sites_by_user.return_value = MAX_SITES_PER_USER
mock_db.count_sites_by_user.return_value = get_cached_max_sites()
with pytest.raises(ValueError, match="Site limit reached"):
await create_user_site(
user_id="user-uuid-001",