import base64 from pytest_mock import MockerFixture from app.handlers import ProcessSongwhipEventRequest from app.main import handle from tests.unit.factories import EmailPresaveEventFactory def test_handle(mocker: MockerFixture) -> None: email_presave_event = EmailPresaveEventFactory.build() process_songwhip_event_mock = mocker.patch("app.main.process_songwhip_event") response = handle( { "records": { "event.songwhip.presave.raw-1": [ { "value": base64.b64encode( email_presave_event.model_dump_json(by_alias=True).encode() ), } ] } }, None, ) assert response == {"status": "OK"} process_songwhip_event_mock.assert_called_with( ProcessSongwhipEventRequest(events=[email_presave_event]) )