42 lines
983 B
Go
42 lines
983 B
Go
|
|
package whatsapp
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"testing"
|
||
|
|
"time"
|
||
|
|
|
||
|
|
"github.com/sipeed/picoclaw/pkg/bus"
|
||
|
|
"github.com/sipeed/picoclaw/pkg/channels"
|
||
|
|
"github.com/sipeed/picoclaw/pkg/config"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestHandleIncomingMessage_DoesNotConsumeGenericCommandsLocally(t *testing.T) {
|
||
|
|
messageBus := bus.NewMessageBus()
|
||
|
|
ch := &WhatsAppChannel{
|
||
|
|
BaseChannel: channels.NewBaseChannel("whatsapp", config.WhatsAppConfig{}, messageBus, nil),
|
||
|
|
ctx: context.Background(),
|
||
|
|
}
|
||
|
|
|
||
|
|
ch.handleIncomingMessage(map[string]any{
|
||
|
|
"type": "message",
|
||
|
|
"id": "mid1",
|
||
|
|
"from": "user1",
|
||
|
|
"chat": "chat1",
|
||
|
|
"content": "/help",
|
||
|
|
})
|
||
|
|
|
||
|
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
|
||
|
|
defer cancel()
|
||
|
|
|
||
|
|
inbound, ok := messageBus.ConsumeInbound(ctx)
|
||
|
|
if !ok {
|
||
|
|
t.Fatal("expected inbound message to be forwarded")
|
||
|
|
}
|
||
|
|
if inbound.Channel != "whatsapp" {
|
||
|
|
t.Fatalf("channel=%q", inbound.Channel)
|
||
|
|
}
|
||
|
|
if inbound.Content != "/help" {
|
||
|
|
t.Fatalf("content=%q", inbound.Content)
|
||
|
|
}
|
||
|
|
}
|