sneeuwvlok/packages/arrtrix/pkg/onboarding/welcome_test.go
Chris Kruining fe627f3aab
Add Arrtrix runtime, config, onboarding, and webhook support
- Implement runtime package for bridge startup, config loading, and env
  overrides
- Add onboarding package for management room welcome messages
- Add matrixcmd package for command processing and help
- Add webhook package with Radarr webhook support and validation
- Extend connector config for webhooks and validation
- Update default config and example config for new options
- Add tests for new packages and config validation
- Change database type default to sqlite3-fk-wal
2026-04-16 09:06:57 +02:00

56 lines
1.3 KiB
Go

package onboarding
import (
"strings"
"testing"
"maunium.net/go/mautrix/bridgev2/bridgeconfig"
"maunium.net/go/mautrix/id"
)
func TestComposeWelcomeMessageDefaults(t *testing.T) {
out := composeWelcomeMessage(
"Arrtrix",
"!arr",
id.UserID("@arrtrixbot:test"),
bridgeconfig.ManagementRoomTexts{},
false,
true,
)
for _, fragment := range []string{
"Hello, I'm the Arrtrix bot.",
"This room has been marked as your management room.",
"Use `help` to see the commands available right now.",
} {
if !strings.Contains(out, fragment) {
t.Fatalf("expected welcome output to contain %q, got:\n%s", fragment, out)
}
}
}
func TestComposeWelcomeMessageTemplateValues(t *testing.T) {
out := composeWelcomeMessage(
"Arrtrix",
"!arr",
id.UserID("@arrtrixbot:test"),
bridgeconfig.ManagementRoomTexts{
Welcome: "Welcome to $bridge.",
WelcomeConnected: "Talk to $bot with $cmdprefix help.",
AdditionalHelp: "Custom footer for $bridge.",
},
true,
false,
)
for _, fragment := range []string{
"Welcome to Arrtrix.",
"Use `!arr help` to see available commands in this room.",
"Talk to @arrtrixbot:test with !arr help.",
"Custom footer for Arrtrix.",
} {
if !strings.Contains(out, fragment) {
t.Fatalf("expected templated welcome output to contain %q, got:\n%s", fragment, out)
}
}
}