- whatsapp, fake := whatsappStartTestLinked(t)
- whatsapp.client = fake
- whatsapp.inbox.lookupTime = 10 * time.Millisecond
- whatsapp.inbox.imageTime = time.Second
- fake.downloadWait = 50 * time.Millisecond
- data := imageTestPNG(t, 3, 2)
- fake.downloadData = data
-
- require.True(t, whatsapp.handle(whatsappImageTestEvent(whatsappTestAna, "Slow photo.")))
-
- restored := whatsappTestState(t, whatsapp.state.path)
- require.NoError(t, restored.CloseAll())
- require.Len(t, restored.Closed(), 1)
-
- text := restored.Closed()[0].Messages[0].Text
- names := imageFiles(text)
- require.Len(t, names, 1)
- require.Equal(t, imageText(names, "Slow photo."), text)
-
- saved, err := whatsapp.inbox.images.Read(names[0])
- require.NoError(t, err)
- require.Equal(t, data, saved)
+ synctest.Test(t, func(t *testing.T) {
+ whatsapp, fake := whatsappStartTestLinked(t)
+ whatsapp.client = fake
+ fake.downloadWait = whatsappContactLookupTimeout + time.Second
+ data := imageTestPNG(t, 3, 2)
+ fake.downloadData = data
+
+ require.True(t, whatsapp.handle(whatsappImageTestEvent(whatsappTestAna, "Slow photo.")))
+
+ restored := whatsappTestState(t, whatsapp.state.path)
+ require.NoError(t, restored.CloseAll())
+ require.Len(t, restored.Closed(), 1)
+
+ text := restored.Closed()[0].Messages[0].Text
+ names := imageFiles(text)
+ require.Len(t, names, 1)
+ require.Equal(t, imageText(names, "Slow photo."), text)
+
+ saved, err := whatsapp.inbox.images.Read(names[0])
+ require.NoError(t, err)
+ require.Equal(t, data, saved)
+ })