func TestWhatsAppSendThatFails(t *testing.T) {
whatsapp, fake := whatsappStartTestLinked(t)
fake.sendErr = errors.New("server error for " + whatsappTestNumber)
+
daemonStartTestWithWhatsApp(t, newModelFake(t), nil, whatsapp)
whatsappTestConnect(t, fake)
require.EqualError(t, err, "WhatsApp is disconnected, so nothing was sent: try again later")
require.True(t, fake.Emit(&events.Connected{}))
+
answer, err := whatsapp.Send(t.Context(), "keys", whatsappTestAna.String(), "hi")
require.NoError(t, err)
require.Equal(t, "Sent to +15550002222 at 12:05.", answer)
func TestAgentSendsAWhatsAppMessage(t *testing.T) {
whatsapp, fake := whatsappStartTestLinked(t)
whatsappTestContacts(t, whatsapp)
+
server := newModelFake(t)
server.reply = func(w http.ResponseWriter, call ModelFakeCall) {
if call.number == 0 {
modelWriteEvents(w, modelCompletedEvent([]any{modelFunctionCallItem("fc_1", "call_1", "whatsapp_send", `{"id":"keys","chat":"15550002222@s.whatsapp.net","text":"The keys are under the mat."}`)}, 100, 0, 5))
+
return
}