Files
GX-gp-notify/tests/test_services/test_notification_service.py
T
v6ole 7455d7e426 chore: ruff 代码检查与修复
130 issues auto-fixed (import ordering, UP045/UP006 type annotations),
33 issues manually fixed (E712/E501/E402/E722 + N818 rename + per-file
wechat ignore for N8xx naming conventions). All 33 tests pass.
2026-05-09 14:28:09 +08:00

43 lines
1.1 KiB
Python

from unittest.mock import AsyncMock, patch
import pytest
from app.services.notification_service import NotificationService
@pytest.mark.asyncio
async def test_notification_send():
svc = NotificationService()
announcements = [
{
"title": "测试公告",
"publish_date": None,
"purchase_name": "测试单位",
"content_url": "https://x.com/1",
"source_code": "test",
"source_name": "测试来源",
"announcement_type": "purchase",
}
]
with patch.object(svc.client, "send_textcard", AsyncMock(return_value=True)):
count = await svc.send(announcements)
assert count == 1
@pytest.mark.asyncio
async def test_notification_send_empty():
svc = NotificationService()
count = await svc.send([])
assert count == 0
@pytest.mark.asyncio
async def test_notification_send_disabled():
svc = NotificationService()
announcements = [{"title": "test"}]
with patch.object(svc.client, "send_textcard", AsyncMock(return_value=False)):
count = await svc.send(announcements)
assert count == 0