fixbug: recovered role can't observe new message

This commit is contained in:
莘权 马 2024-08-21 13:26:50 +08:00
parent ab846f65e4
commit 8a9cd6a2e7
3 changed files with 14 additions and 3 deletions

View file

@ -5,6 +5,7 @@ import pytest
from metagpt.provider.human_provider import HumanProvider
from metagpt.roles.role import Role
from metagpt.schema import Message, UserMessage
def test_role_desc():
@ -18,5 +19,15 @@ def test_role_human(context):
assert isinstance(role.llm, HumanProvider)
@pytest.mark.asyncio
async def test_recovered():
role = Role(profile="Tester", desc="Tester", recovered=True)
role.put_message(UserMessage(content="2"))
role.latest_observed_msg = Message(content="1")
await role._observe()
await role._observe()
assert role.rc.msg_buffer.empty()
if __name__ == "__main__":
pytest.main([__file__, "-s"])