import pytest from nonebug import App from nonebot.adapters.onebot.v11 import MessageSegment from .utils import make_fake_message, make_fake_event @pytest.mark.asyncio async def test_chat(app: App): from ATRI.plugins.chat import chat Message = make_fake_message() async with app.test_matcher(chat) as ctx: bot = ctx.create_bot() msg = Message("爱你") event = make_fake_event(_message=msg, _to_me=True)() ctx.receive_event(bot, event) ctx.should_call_send(event, "是…是嘛(脸红)呐,其实咱也……", True) @pytest.mark.asyncio async def test_my_name_is(app: App): from ATRI.plugins.chat import my_name_is Message = make_fake_message() async with app.test_matcher(my_name_is) as ctx: bot = ctx.create_bot() msg = Message("叫我") event = make_fake_event(_message=msg, _to_me=True)() ctx.receive_event(bot, event) ctx.should_call_send(event, "欧尼酱想让咱如何称呼呢!0w0", True) msg = Message("欧尼酱") event = make_fake_event(_message=msg)() ctx.receive_event(bot, event) ctx.should_call_send(event, "好~w 那咱以后就称呼你为欧尼酱!", True) @pytest.mark.asyncio async def test_say(app: App): from ATRI.plugins.chat import say Message = make_fake_message() async with app.test_matcher(say) as ctx: bot = ctx.create_bot() msg = Message("说") event = make_fake_event(_message=msg, _to_me=True)() ctx.receive_event(bot, event) ctx.should_call_send(event, "想要咱复读啥呢...", True) msg = Message("nya~") event = make_fake_event(_message=msg)() ctx.receive_event(bot, event) ctx.should_call_send(event, "nya~", True) async with app.test_matcher(say) as ctx: bot = ctx.create_bot() msg = Message("说") event = make_fake_event(_message=msg, _to_me=True)() ctx.receive_event(bot, event) ctx.should_call_send(event, "想要咱复读啥呢...", True) msg = Message( MessageSegment.image( "https://cdn.jsdelivr.net/gh/Kyomotoi/CDN@master/noting/88674944_p0.png" ) ) event = make_fake_event(_message=msg, _to_me=True)() ctx.receive_event(bot, event) ctx.should_call_send(event, "不要...", True)