thread_fbid is not available with typ, there thread_id = author_id

Also enabled tests
This commit is contained in:
Mads Marquart
2018-06-04 23:57:50 +02:00
parent 1f359f2a72
commit 62e17daf78
2 changed files with 9 additions and 6 deletions

View File

@@ -1531,11 +1531,16 @@ class Client(object):
# Typing
elif mtype == "typ" or mtype == "ttyp":
author_id = str(m.get("from"))
thread_id = str(m.get("thread_fbid"))
if thread_id == self.uid:
thread_type = ThreadType.USER
else:
thread_id = m.get("thread_fbid")
if thread_id:
thread_type = ThreadType.GROUP
thread_id = str(thread_id)
else:
thread_type = ThreadType.USER
if author_id == self.uid:
thread_id = m.get("to")
else:
thread_id = author_id
typing_status = TypingStatus(m.get("st"))
self.onTyping(author_id=author_id, status=typing_status, thread_id=thread_id, thread_type=thread_type, msg=m)

View File

@@ -103,10 +103,8 @@ def test_change_color_invalid(client):
client.changeThreadColor(InvalidColor())
@pytest.mark.xfail(reason="Apparently onTyping is broken")
@pytest.mark.parametrize("status", TypingStatus)
def test_typing_status(client, catch_event, compare, status):
with catch_event("onTyping") as x:
client.setTypingStatus(status)
# x.wait(40)
assert compare(x, status=status)