Files
supply-intelligence/internal/poller/gateway_package_poller_test.go
2026-05-12 18:49:52 +08:00

29 lines
1001 B
Go

package poller
import (
"context"
"testing"
"time"
"supply-intelligence/internal/domain"
"supply-intelligence/internal/gatewayconsumer"
"supply-intelligence/internal/repository"
)
func TestGatewayPackagePollerPollOnce(t *testing.T) {
repo := repository.NewMemoryRepository()
repo.AppendPackageEvent(context.Background(), domain.PackageChangeEvent{EventID: "evt-1", EventType: "supply_package_published", PackageID: 1, Platform: "openai", Model: "gpt-4.1-mini", OccurredAt: time.Unix(1, 0).UTC(), Version: 1, GatewaySyncStatus: domain.GatewaySyncStatusPending})
poller := NewGatewayPackagePoller(gatewayconsumer.NewService(repo))
out, err := poller.PollOnce(context.Background())
if err != nil {
t.Fatalf("unexpected poll error: %v", err)
}
if len(out.Items) != 1 || out.Items[0].EventID != "evt-1" {
t.Fatalf("unexpected output: %+v", out)
}
if poller.Cursor() != out.NextCursor {
t.Fatalf("expected cursor to advance: poller=%q out=%q", poller.Cursor(), out.NextCursor)
}
}