fix(frontend): 移除运行时演示数据并接入真实后端状态

This commit is contained in:
2026-09-04 07:47:05 +08:00
parent 2e496462a9
commit c04f4c1989
34 changed files with 332 additions and 869 deletions
@@ -0,0 +1,31 @@
import asyncio
from fastapi.testclient import TestClient
from app.main import app
from app.container import container
from app.agent.permissions import PermissionMode
from app.services.note_service import create_note
def test_index_status_returns_real_counts():
with TestClient(app) as client:
initial = client.get('/api/index/status').json()
assert (initial['total_notes'], initial['total_blocks']) == (0, 0)
note = asyncio.run(create_note(title='Real note', markdown='# Real note\n\ncontent', folder=None, tags=[]))
result = client.get('/api/index/status').json()
assert result['total_notes'] == 1
assert result['total_blocks'] == len(note.blocks)
def test_permissions_endpoint_reads_effective_backend_policy():
policy = container.permissions.policy
original = policy.mode_for('attachments.read')
try:
policy.set_rule('attachments.read', PermissionMode.deny)
with TestClient(app) as client:
response = client.get('/api/permissions/policy')
assert response.status_code == 200
assert response.json()['attachments.read'] == 'deny'
finally:
policy.set_rule('attachments.read', original)