mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-13 14:16:08 +00:00
61 lines
2.0 KiB
Go
61 lines
2.0 KiB
Go
package channels
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/nextlevelbuilder/goclaw/internal/config"
|
|
"github.com/nextlevelbuilder/goclaw/internal/i18n"
|
|
"github.com/nextlevelbuilder/goclaw/internal/systemmessages"
|
|
)
|
|
|
|
func TestBaseChannelRendersConfiguredSystemMessage(t *testing.T) {
|
|
cfg := config.Default()
|
|
cfg.Messages.Messages = map[string]config.LocalizedSystemMessage{
|
|
systemmessages.KeyPairingGroupRequired: {
|
|
i18n.LocaleEN: "Custom group code {{code}}",
|
|
},
|
|
}
|
|
|
|
base := NewBaseChannel("telegram-main", nil, nil)
|
|
base.SetSystemMessages(systemmessages.NewResolver(cfg))
|
|
|
|
got := base.SystemMessage(i18n.LocaleEN, systemmessages.KeyPairingGroupRequired, systemmessages.Vars{"code": "XYZ"})
|
|
want := "Custom group code XYZ"
|
|
if got != want {
|
|
t.Fatalf("SystemMessage = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestBaseChannelSystemMessageUsesConfiguredDefaultLocale(t *testing.T) {
|
|
cfg := config.Default()
|
|
cfg.Messages.DefaultLocale = i18n.LocaleVI
|
|
cfg.Messages.Messages = map[string]config.LocalizedSystemMessage{
|
|
systemmessages.KeyPairingAccountRequired: {
|
|
i18n.LocaleVI: "Ghép {{platform}} {{sender_id}} bằng {{code}}",
|
|
i18n.LocaleEN: "Pair {{platform}} {{sender_id}} with {{code}}",
|
|
},
|
|
}
|
|
|
|
base := NewBaseChannel("telegram-main", nil, nil)
|
|
base.SetSystemMessages(systemmessages.NewResolver(cfg))
|
|
|
|
got := base.SystemMessage("", systemmessages.KeyPairingAccountRequired, systemmessages.Vars{
|
|
"platform": "Telegram",
|
|
"sender_id": "U123",
|
|
"code": "XYZ",
|
|
})
|
|
want := "Ghép Telegram U123 bằng XYZ"
|
|
if got != want {
|
|
t.Fatalf("SystemMessage empty locale = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestBaseChannelSystemMessageFallsBackWithoutResolver(t *testing.T) {
|
|
base := NewBaseChannel("telegram-main", nil, nil)
|
|
got := base.SystemMessage(i18n.LocaleEN, systemmessages.KeyPairingApproved, systemmessages.Vars{"app_name": "GoClaw"})
|
|
want := "✅ GoClaw access approved. Send a message to start chatting."
|
|
if got != want {
|
|
t.Fatalf("SystemMessage fallback = %q, want %q", got, want)
|
|
}
|
|
}
|