3899a2345e
Co-authored-by: multica-agent <github@multica.ai>
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from sqlalchemy import create_engine, select
|
|
from sqlalchemy.orm import Session
|
|
|
|
from app.core.database import Base
|
|
from app.models.system_message import SystemMessage
|
|
from app.schemas.system_message import SystemMessageCreateRequest
|
|
from app.services.system_message_service import create_system_message, delete_system_message
|
|
|
|
|
|
def test_delete_system_message_removes_existing_message() -> None:
|
|
engine = create_engine("sqlite+pysqlite:///:memory:")
|
|
Base.metadata.create_all(bind=engine, tables=[SystemMessage.__table__])
|
|
|
|
with Session(engine) as db:
|
|
message = create_system_message(
|
|
db,
|
|
SystemMessageCreateRequest(
|
|
title="系统通知",
|
|
content="测试内容",
|
|
message_type="info",
|
|
),
|
|
)
|
|
|
|
deleted = delete_system_message(db, message.id)
|
|
|
|
assert deleted is True
|
|
assert db.scalar(select(SystemMessage).where(SystemMessage.id == message.id)) is None
|
|
|
|
|
|
def test_delete_system_message_returns_false_when_missing() -> None:
|
|
engine = create_engine("sqlite+pysqlite:///:memory:")
|
|
Base.metadata.create_all(bind=engine, tables=[SystemMessage.__table__])
|
|
|
|
with Session(engine) as db:
|
|
deleted = delete_system_message(db, "missing-message-id")
|
|
|
|
assert deleted is False
|