Files
Nexus/tests/test_settings_sound_defaults.py
T
Nexus Agent e833b923c8 feat(browser): 远程浏览器 Worker 桥接与顶栏固定悬浮窗
接入 Playwright Worker、会话 WebSocket 与全局浏览器面板(固定于 App Bar 下);
含验证码 stealth、设置项默认音与 URL 安全校验;附带 worker 部署与设计文档。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 06:49:20 +08:00

33 lines
1.1 KiB
Python

"""GET /api/settings/{key} defaults when row missing."""
from __future__ import annotations
from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from fastapi import HTTPException
from server.api.settings import SETTING_DEFAULTS, get_setting
@pytest.mark.asyncio
async def test_get_push_complete_sound_default_when_missing():
admin = MagicMock()
db = AsyncMock()
with patch("server.api.settings.SettingRepositoryImpl") as repo_cls:
repo_cls.return_value.get = AsyncMock(return_value=None)
out = await get_setting("push_complete_sound", admin=admin, db=db)
assert out["key"] == "push_complete_sound"
assert out["value"] == SETTING_DEFAULTS["push_complete_sound"]
@pytest.mark.asyncio
async def test_get_unknown_key_still_404():
admin = MagicMock()
db = AsyncMock()
with patch("server.api.settings.SettingRepositoryImpl") as repo_cls:
repo_cls.return_value.get = AsyncMock(return_value=None)
with pytest.raises(HTTPException) as exc:
await get_setting("nonexistent_setting_key", admin=admin, db=db)
assert exc.value.status_code == 404