X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/087d725b5ab41ad34ffd24938482d45a8b99a080..3b2bf881d484ba1a33ff77a342564b8195a75c80:/whatsapp_inbox_test.go diff --git a/whatsapp_inbox_test.go b/whatsapp_inbox_test.go index 6264d19..cea65fe 100644 --- a/whatsapp_inbox_test.go +++ b/whatsapp_inbox_test.go @@ -31,6 +31,7 @@ func TestWhatsAppPrivateBatchStartsATurnWithAnEmptyReply(t *testing.T) { // The catch-up holds the batch open until its end, so the two messages // form one batch also on a slow machine. require.True(t, fake.Emit(&events.Connected{})) + at := time.Date(2026, 1, 1, 12, 0, 0, 0, time.UTC) require.True(t, fake.Emit(whatsappTestMessage(whatsappTestAna, whatsappTestAna, "m1", "Are you at home?", at))) require.True(t, fake.Emit(whatsappTestMessage(whatsappTestAna, whatsappTestOwn, "m2", "Yes", at))) @@ -118,6 +119,7 @@ func TestWhatsAppGroupTurns(t *testing.T) { text := "[WhatsApp] Family, group 120363000000000001@g.us, Thursday 2026-01-01\n" + tc.line if tc.turn { text += "\n" + whatsappBatchEmptyReply + client.WaitFor(t, "[done]") require.Equal(t, 1, server.Calls()) } else { @@ -131,7 +133,7 @@ func TestWhatsAppGroupTurns(t *testing.T) { } } -func TestWhatsAppTakesOnlyText(t *testing.T) { +func TestWhatsAppSkipsExcludedMessages(t *testing.T) { at := time.Date(2026, 1, 1, 12, 0, 0, 0, time.UTC) testCases := []struct { name string @@ -173,16 +175,6 @@ func TestWhatsAppTakesOnlyText(t *testing.T) { event.Info.Chat = types.StatusBroadcastJID }, }, - { - name: "a photo with a caption", - change: func(event *events.Message) { - event.Message = &waE2E.Message{ - ImageMessage: &waE2E.ImageMessage{ - Caption: new("look"), - }, - } - }, - }, { name: "a text of spaces", change: func(event *events.Message) { @@ -212,6 +204,7 @@ func TestWhatsAppCatchupGivesOneTurn(t *testing.T) { <-fake.connects require.True(t, fake.Emit(&events.Connected{})) + at := time.Date(2026, 1, 1, 8, 0, 0, 0, time.UTC) for index, event := range []*events.Message{ whatsappTestMessage(whatsappTestAna, whatsappTestAna, "m1", "Good morning", at), @@ -235,6 +228,7 @@ func TestWhatsAppCatchupGivesOneTurn(t *testing.T) { time.Sleep(100 * time.Millisecond) require.Equal(t, 1, server.Calls()) + for _, text := range []string{"Good morning", "Call me", "Are you there?"} { require.Contains(t, string(server.Call(0).raw), text) } @@ -257,6 +251,7 @@ func TestWhatsAppCatchupEndsAfterItsLimit(t *testing.T) { func TestWhatsAppStateOfTheStateFileWaitForTheCatchup(t *testing.T) { dir := t.TempDir() whatsappTestSession(t, dir, true) + before, _, _ := whatsappStartTest(t, dir, newTestClock()) _, err := before.state.Add(whatsappTestChat, WhatsAppMessage{ ID: "m1",