diff --git a/internal/services/ticket_service_test.go b/internal/services/ticket_service_test.go index b2991a0..56725e5 100644 --- a/internal/services/ticket_service_test.go +++ b/internal/services/ticket_service_test.go @@ -228,6 +228,42 @@ func TestTicketServiceAddProgressStoresContentAndAuthor(t *testing.T) { } } +func TestTicketServiceCreateTicketPreservesRichDescription(t *testing.T) { + setupTicketTestDB(t) + operator := createTestOperator(t, "rich-description-operator") + + created, err := services.TicketService.CreateTicket(request.CreateTicketRequest{ + Title: "rich description ticket", + Description: "

客户反馈无法登录

", + }, operator) + if err != nil { + t.Fatalf("CreateTicket() error = %v", err) + } + if created.Description != "

客户反馈无法登录

" { + t.Fatalf("expected rich description to be preserved, got %q", created.Description) + } +} + +func TestTicketServiceAddProgressPreservesRichContent(t *testing.T) { + setupTicketTestDB(t) + operator := createTestOperator(t, "rich-progress-operator") + ticket, err := services.TicketService.CreateTicket(createTestTicketRequest("rich-progress-ticket"), operator) + if err != nil { + t.Fatalf("CreateTicket() error = %v", err) + } + + progress, err := services.TicketService.AddProgress(request.CreateTicketProgressRequest{ + TicketID: ticket.ID, + Content: "

已回访客户,结论:继续观察

", + }, operator) + if err != nil { + t.Fatalf("AddProgress() error = %v", err) + } + if progress.Content != "

已回访客户,结论:继续观察

" { + t.Fatalf("expected rich progress content to be preserved, got %q", progress.Content) + } +} + func TestTicketServiceAssignTicketRequiresTargetUser(t *testing.T) { setupTicketTestDB(t) operator := createTestOperator(t, "assign-operator")