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 != `Ver portal` { t.Fatalf("telegramHTMLLink() = %q", link) } }