package main import ( "context" "errors" "strings" "testing" "github.com/stretchr/testify/require" "go.mau.fi/whatsmeow/types" ) func TestWhatsAppGroupReadFailureWarnsWithoutLosingNames(t *testing.T) { var logs strings.Builder groups := newWhatsAppGroups(daemonTestLogger(&logs)) groups.set("group", "Example group") client := &WhatsAppGroupsFailure{WhatsAppClient: &WhatsAppFake{}} link := WhatsAppLink{ client: client, own: []string{whatsappTestNumber}, } require.False(t, groups.read(t.Context(), link)) require.Equal(t, "<4>group list failed: no route for OWN\n", logs.String()) require.Equal(t, "Example group", groups.name(t.Context(), link, "group")) } type WhatsAppGroupsFailure struct { WhatsAppClient } func (c *WhatsAppGroupsFailure) GetJoinedGroups(_ context.Context) ([]*types.GroupInfo, error) { return nil, errors.New("no route for " + whatsappTestNumber) }