diff --git a/v2/request_test.go b/v2/request_test.go index dfb0d54..7d7989e 100644 --- a/v2/request_test.go +++ b/v2/request_test.go @@ -240,3 +240,26 @@ func TestBuildProviderRequest_CachingEnabled_OnlySystem(t *testing.T) { t.Errorf("expected LastCacheableMessageIndex=-1 when no non-system messages, got %d", req.CacheHints.LastCacheableMessageIndex) } } + +func TestBuildProviderRequest_CachingEnabled_EmptyMessages(t *testing.T) { + cfg := &requestConfig{cacheConfig: &cacheConfig{enabled: true}} + req := buildProviderRequest("m", nil, cfg) + if req.CacheHints == nil { + t.Fatal("expected CacheHints to be set even with no messages") + } + if req.CacheHints.CacheSystem { + t.Error("expected CacheSystem=false with no messages") + } + if req.CacheHints.LastCacheableMessageIndex != -1 { + t.Errorf("expected LastCacheableMessageIndex=-1 with no messages, got %d", req.CacheHints.LastCacheableMessageIndex) + } +} + +func TestBuildProviderRequest_CachingNonNilButDisabled(t *testing.T) { + cfg := &requestConfig{cacheConfig: &cacheConfig{enabled: false}} + msgs := []Message{SystemMessage("sys"), UserMessage("hi")} + req := buildProviderRequest("m", msgs, cfg) + if req.CacheHints != nil { + t.Errorf("expected nil CacheHints when cacheConfig.enabled=false, got %+v", req.CacheHints) + } +}