Files
ai-customer-service/internal/domain/platformevent/event_test.go
2026-05-06 10:45:51 +08:00

46 lines
950 B
Go

package platformevent
import (
"strings"
"testing"
"time"
)
func TestEvent_Validate(t *testing.T) {
now := time.Now()
event := Event{
ID: "evt-1",
Platform: "sub2api",
EventType: TypeReplyGenerated,
CallbackTarget: "default",
Status: StatusPending,
AttemptCount: 0,
NextAttemptAt: now,
OccurredAt: now,
}
if err := event.Validate(); err != nil {
t.Fatalf("Validate() error = %v", err)
}
}
func TestEvent_ValidateRejectsInvalidStatus(t *testing.T) {
event := Event{
ID: "evt-1",
Platform: "sub2api",
EventType: TypeReplyGenerated,
CallbackTarget: "default",
Status: Status("invalid"),
NextAttemptAt: time.Now(),
OccurredAt: time.Now(),
}
err := event.Validate()
if err == nil {
t.Fatal("expected error for invalid status")
}
if !strings.Contains(err.Error(), "invalid status") {
t.Fatalf("unexpected error: %v", err)
}
}