tests/test_payloads.py
text
from apps.whatsapp_control_api.app.services.payloads import iter_inbound_messages
def test_iter_inbound_messages_extracts_text_messages() -> None:
payload = {
"entry": [
{
"changes": [
{
"value": {
"metadata": {"phone_number_id": "123"},
"contacts": [{"profile": {"name": "Rizky"}}],
"messages": [
{
"id": "wamid.1",
"from": "62812345",
"type": "text",
"text": {"body": "Halo Hermes"},
}
],
}
}
]
}
]
}
messages = list(iter_inbound_messages(payload))
assert len(messages) == 1
assert messages[0].wa_message_id == "wamid.1"
assert messages[0].from_number == "62812345"
assert messages[0].profile_name == "Rizky"
assert messages[0].text_body == "Halo Hermes"