Files
soft_usite/pkg/services/app_url_test.go
T
2026-05-18 23:50:50 -05:00

70 lines
1.8 KiB
Go

package services
import (
"testing"
"github.com/sujit-baniya/fiber-boilerplate/app"
"github.com/sujit-baniya/fiber-boilerplate/config"
)
func TestGetAppURLLocalhostAddsPort(t *testing.T) {
app.Http = &config.AppConfig{
Server: config.ServerConfig{
Url: "http://localhost",
Port: "8084",
},
}
if got := getAppURL(); got != "http://localhost:8084" {
t.Fatalf("getAppURL() = %q, want http://localhost:8084", got)
}
}
func TestGetPublicURLPrefersPublicURL(t *testing.T) {
app.Http = &config.AppConfig{
Server: config.ServerConfig{
Url: "http://localhost:8080",
PublicUrl: "admin.u-site.app",
Port: "8080",
},
}
if got := getPublicURL(); got != "https://admin.u-site.app" {
t.Fatalf("getPublicURL() = %q, want https://admin.u-site.app", got)
}
}
func TestAbsAppURLUsesPublicURL(t *testing.T) {
app.Http = &config.AppConfig{
Server: config.ServerConfig{
Url: "http://localhost:8080",
PublicUrl: "https://admin.u-site.app",
Port: "8080",
},
}
got := absAppURL("/portal/proyecto/bot?tab=Tickets&ticket=1")
want := "https://admin.u-site.app/portal/proyecto/bot?tab=Tickets&ticket=1"
if got != want {
t.Fatalf("absAppURL() = %q, want %q", got, want)
}
}
func TestAbsAppURLFallsBackToAppURL(t *testing.T) {
app.Http = &config.AppConfig{
Server: config.ServerConfig{
Url: "http://localhost",
Port: "8084",
},
}
got := absAppURL("/app/tickets?ticket=3")
want := "http://localhost:8084/app/tickets?ticket=3"
if got != want {
t.Fatalf("absAppURL() = %q, want %q", got, want)
}
}
func TestTelegramHTMLLinkEscapesAmpersand(t *testing.T) {
link := telegramHTMLLink("https://admin.u-site.app/portal/p?tab=Tickets&ticket=1", "Ver portal")
if link != `<a href="https://admin.u-site.app/portal/p?tab=Tickets&amp;ticket=1">Ver portal</a>` {
t.Fatalf("telegramHTMLLink() = %q", link)
}
}