add unit test for message slice

This commit is contained in:
Mix
2022-01-17 00:29:09 +08:00
parent 3b4c4d3081
commit b037be4485
3 changed files with 62 additions and 20 deletions

View File

@ -1,4 +1,4 @@
from typing import TYPE_CHECKING, Type, Optional
from typing import TYPE_CHECKING, Type, Union, Mapping, Iterable, Optional
from pydantic import create_model
@ -34,8 +34,13 @@ def make_fake_message() -> Type["Message"]:
return FakeMessageSegment
@staticmethod
def _construct(msg: str):
yield FakeMessageSegment.text(msg)
def _construct(msg: Union[str, Iterable[Mapping]]):
if isinstance(msg, str):
yield FakeMessageSegment.text(msg)
else:
for seg in msg:
yield FakeMessageSegment(**seg)
return
return FakeMessage