Skip to content

Commit 8654b7b

Browse files
committed
Add room testcase.
1 parent 9ff9cd4 commit 8654b7b

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

tests/conftest.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from wechaty_grpc.wechaty.puppet import MessageType
77
from wechaty_puppet.puppet import Puppet
88
from wechaty_puppet.schemas.message import MessageQueryFilter
9+
from wechaty_puppet.schemas.room import RoomQueryFilter
910
from wechaty_puppet.schemas.types import (
1011
MessagePayload,
1112
RoomPayload,
@@ -52,6 +53,9 @@ def add_room_member(self, room_id: str, payload: RoomMemberPayload) -> None:
5253
async def message_search(self, query: Optional[MessageQueryFilter] = None) -> List[str]:
5354
return [query.id]
5455

56+
async def room_search(self, query: Optional[MessageQueryFilter] = None) -> List[str]:
57+
return self.fake_rooms[query.id] if query else self.fake_rooms.keys()
58+
5559
async def room_members(self, room_id: str) -> List[str]:
5660
return [
5761
room_member
@@ -82,6 +86,14 @@ async def test_bot() -> Wechaty:
8286
puppet.add_contact(ContactPayload("wechaty_user", name="Wechaty User"))
8387
puppet.add_contact(ContactPayload("fake_user", name="Fake User"))
8488
puppet.add_contact(ContactPayload("test_user", name="Test User"))
89+
puppet.add_room(
90+
RoomPayload(
91+
id="test_room",
92+
topic="test_room",
93+
owner_id="wechaty_user",
94+
member_ids=["wechaty_user", "fake_user", "test_user"],
95+
)
96+
)
8597
puppet.add_room(
8698
RoomPayload(
8799
id="fake_room",

tests/test_room.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,35 @@
1+
from typing import Union
12
import pytest
23
from wechaty.wechaty import Wechaty # noqa
34

45

56
@pytest.mark.asyncio
6-
async def test_room(test_bot: Wechaty) -> None:
7+
async def test_room_owner(test_bot: Wechaty) -> None:
78
owner = await test_bot.Room("fake_room").owner()
89
await owner.ready()
910
assert owner.contact_id == "wechaty_user"
11+
12+
13+
@pytest.mark.asyncio
14+
async def test_room_topic(test_bot: Wechaty) -> None:
15+
topic = await test_bot.Room("fake_room").topic()
16+
assert topic == "fake_room"
17+
18+
19+
@pytest.mark.parametrize(
20+
("room_name", "res"), [("test", "test_room"), ("fake", "fake_room"), ("wechaty", None)]
21+
)
22+
@pytest.mark.asyncio
23+
async def test_room_find(test_bot: Wechaty, room_name: str, res: Union[str, None]) -> None:
24+
room = await test_bot.Room.find(room_name)
25+
name = room.room_id if room else None
26+
assert name == res
27+
28+
29+
@pytest.mark.parametrize(
30+
("room_name", "res"), [("test", 1), ("fake", 1), ("room", 2), ("wechaty", 0)]
31+
)
32+
@pytest.mark.asyncio
33+
async def test_room_findall(test_bot: Wechaty, room_name: str, res: int) -> None:
34+
room = await test_bot.Room.find_all(room_name)
35+
assert len(room) == res

0 commit comments

Comments
 (0)