Files
glpi-ai-agent/internal/web/server_test.go
jbergner 1c12e3ed60
All checks were successful
release-tag / release-image (push) Successful in 1m41s
Update
2026-07-27 21:27:42 +02:00

36 lines
1.0 KiB
Go

package web
import (
"html/template"
"testing"
)
func TestExtractTicketID(t *testing.T) {
tests := []struct {
name string
body string
want int64
}{
{name: "explicit ticket id", body: `{"ticket_id":42}`, want: 42},
{name: "camel case ticket id", body: `{"ticketId":"43"}`, want: 43},
{name: "typed ticket", body: `{"itemtype":"Ticket","id":44}`, want: 44},
{name: "nested ticket", body: `{"ticket":{"id":45}}`, want: 45},
{name: "ticket url", body: `{"url":"https://glpi.example/api.php/v2.3/Assistance/Ticket/46"}`, want: 46},
{name: "unrelated generic id", body: `{"itemtype":"User","id":99}`, want: 0},
{name: "wrapped unrelated generic id", body: `{"data":{"id":100}}`, want: 0},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := extractTicketID([]byte(tt.body)); got != tt.want {
t.Fatalf("extractTicketID() = %d, want %d", got, tt.want)
}
})
}
}
func TestDashboardTemplateParses(t *testing.T) {
if _, err := template.ParseFS(files, "templates/dashboard.html"); err != nil {
t.Fatal(err)
}
}