29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
import pytest
|
||
|
||
from zvk.event.consumer import on_startup
|
||
from zvk.event.event import Event
|
||
from zvk.plugins.vk.event_saver import VKEvent
|
||
from zvk.plugins.vk.message_parser import Message
|
||
from zvk.util.db import Database
|
||
from zvk.plugins.vk.event_type import VKEventType
|
||
|
||
|
||
@on_startup
|
||
async def vk_event_emitter():
|
||
yield Event(VKEventType.UNREAD_COUNTER_UPDATE, vk_event_args=[3, 0])
|
||
yield Event(VKEventType.MESSAGE_NEW, vk_event_args=[528220, 33, 50951365, 1539933254, 'Я в автобусе щас ваще', {'title': ' ... '}, {}, 0])
|
||
yield Event(VKEventType.MESSAGE_NEW, vk_event_args=[528392, 532481, 2000000049, 1539947094, 'Где философия?', {'from': '363656437'}, {}, 0])
|
||
yield Event(VKEventType.MESSAGE_NEW, vk_event_args=[528397, 33, 173489181, 1539955700, 'Я литералли ходил на перекур с преподом', {'fwd_all_count': '0', 'fwd_count': '1', 'title': ' ... '}, {'fwd': '0_0'}, 0])
|
||
|
||
|
||
@pytest.mark.asyncio
|
||
async def test(db: Database, bot, api):
|
||
bot.event_queue.register_consumer(vk_event_emitter)
|
||
|
||
assert await bot.run()
|
||
|
||
with db as session:
|
||
assert session.query(VKEvent).count() == 4
|
||
|
||
assert session.query(Message).count() == 3
|