Bot & Automation

AI Assistants

/root/hermes-projects/AI Assistants

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"