]> git.giacomolli.uk - onechat/blob - whatsapp_groups_test.go
Show styled replies only on terminal output
[onechat] / whatsapp_groups_test.go
1 package main
2
3 import (
4         "context"
5         "errors"
6         "strings"
7         "testing"
8
9         "github.com/stretchr/testify/require"
10         "go.mau.fi/whatsmeow/types"
11 )
12
13 func TestWhatsAppGroupReadFailureWarnsWithoutLosingNames(t *testing.T) {
14         var logs strings.Builder
15
16         groups := newWhatsAppGroups(daemonTestLogger(&logs))
17         groups.set("group", "Example group")
18
19         client := &WhatsAppGroupsFailure{WhatsAppClient: &WhatsAppFake{}}
20         link := WhatsAppLink{
21                 client: client,
22                 own:    []string{whatsappTestNumber},
23         }
24
25         require.False(t, groups.read(t.Context(), link))
26         require.Equal(t, "<4>group list failed: no route for OWN\n", logs.String())
27         require.Equal(t, "Example group", groups.name(t.Context(), link, "group"))
28 }
29
30 type WhatsAppGroupsFailure struct {
31         WhatsAppClient
32 }
33
34 func (c *WhatsAppGroupsFailure) GetJoinedGroups(_ context.Context) ([]*types.GroupInfo, error) {
35         return nil, errors.New("no route for " + whatsappTestNumber)
36 }