Files
clawgo/pkg/tools/remind_test.go
2026-03-10 00:33:23 +08:00

40 lines
929 B
Go

package tools
import (
"context"
"path/filepath"
"testing"
"github.com/YspCoder/clawgo/pkg/cron"
)
func TestRemindTool_UsesToolContextForDeliveryTarget(t *testing.T) {
storePath := filepath.Join(t.TempDir(), "jobs.json")
cs := cron.NewCronService(storePath, nil)
tool := NewRemindTool(cs)
tool.SetContext("telegram", "chat-123")
_, err := tool.Execute(context.Background(), map[string]interface{}{
"message": "鍠濇按",
"time_expr": "10m",
})
if err != nil {
t.Fatalf("Execute returned error: %v", err)
}
jobs := cs.ListJobs(true)
if len(jobs) != 1 {
t.Fatalf("expected 1 job, got %d", len(jobs))
}
if !jobs[0].Payload.Deliver {
t.Fatalf("expected deliver=true")
}
if jobs[0].Payload.Channel != "telegram" {
t.Fatalf("expected channel telegram, got %q", jobs[0].Payload.Channel)
}
if jobs[0].Payload.To != "chat-123" {
t.Fatalf("expected to chat-123, got %q", jobs[0].Payload.To)
}
}