57 lines
2.2 KiB
Go
57 lines
2.2 KiB
Go
package domain
|
|
|
|
import "testing"
|
|
|
|
func TestResolveWelcomeMessageTemplatePrecedence(t *testing.T) {
|
|
const panel = "panel override"
|
|
const env = "env default"
|
|
|
|
if got := ResolveWelcomeMessageTemplate(LoginMethodPhone, panel, env); got != panel {
|
|
t.Fatalf("panel override should win, got %q", got)
|
|
}
|
|
if got := ResolveWelcomeMessageTemplate(LoginMethodPhone, "", env); got != env {
|
|
t.Fatalf("env default should win when panel unset, got %q", got)
|
|
}
|
|
if got := ResolveWelcomeMessageTemplate(LoginMethodPhone, " ", env); got != env {
|
|
t.Fatalf("whitespace-only panel override should be treated as unset, got %q", got)
|
|
}
|
|
if got := ResolveWelcomeMessageTemplate(LoginMethodPhone, "", ""); got != DefaultWelcomeMessagePhoneTemplate {
|
|
t.Fatalf("built-in phone default should be the final fallback, got %q", got)
|
|
}
|
|
if got := ResolveWelcomeMessageTemplate(LoginMethodEmail, "", ""); got != DefaultWelcomeMessageEmailTemplate {
|
|
t.Fatalf("built-in email default should be the final fallback, got %q", got)
|
|
}
|
|
}
|
|
|
|
func TestLoginMethodFromLabel(t *testing.T) {
|
|
if LoginMethodFromLabel("email") != LoginMethodEmail {
|
|
t.Fatal("expected email label to map to LoginMethodEmail")
|
|
}
|
|
if LoginMethodFromLabel("phone number") != LoginMethodPhone {
|
|
t.Fatal("expected phone label to map to LoginMethodPhone")
|
|
}
|
|
if LoginMethodFromLabel("") != LoginMethodPhone {
|
|
t.Fatal("expected unknown label to default to LoginMethodPhone")
|
|
}
|
|
}
|
|
|
|
func TestRenderWelcomeMessageTemplateSubstitutesServerName(t *testing.T) {
|
|
SetOfficialSystemUserDisplayName("")
|
|
defer SetOfficialSystemUserDisplayName("")
|
|
|
|
got := RenderWelcomeMessageTemplate("Hello from {{server_name}}!")
|
|
if got != "Hello from OwpenGram!" {
|
|
t.Fatalf("expected default branding.ProductName() substitution, got %q", got)
|
|
}
|
|
|
|
SetOfficialSystemUserDisplayName("Custom Server")
|
|
got = RenderWelcomeMessageTemplate("Hello from {{server_name}}!")
|
|
if got != "Hello from Custom Server!" {
|
|
t.Fatalf("expected custom display name substitution, got %q", got)
|
|
}
|
|
|
|
// No placeholder present -- must be a no-op.
|
|
if got := RenderWelcomeMessageTemplate("no placeholder here"); got != "no placeholder here" {
|
|
t.Fatalf("expected no-op when placeholder absent, got %q", got)
|
|
}
|
|
}
|