package sendgrid

import (
	"context"
	"os"
	"testing"

	"github.com/joho/godotenv"
	"github.com/tidbcloud/pov-service/internal/client/email"
)

func TestSendEmailWithTemplate(t *testing.T) {
	_ = godotenv.Load("./.env")
	apiKey := os.Getenv("SENDGRID_API_KEY")

	cli, err := NewClient(apiKey)
	if err != nil {
		t.Fatal(err)
	}

	req := email.SendWithTemplateRequest{
		From:       "tidbcloud_pov@pingcap.com",
		TemplateID: "d-85cb661ab6f64b4f8fd4b372b24d90a4",
		To:         []string{"yuchao.li@pingcap.com"},
		// CC:         []string{"yuchao.li@pingcap.com"},
		// BCC:        []string{"yuchao.li@pingcap.com"},
		TemplateVars: map[string]string{
			"workload_name":   "test_name",
			"first_name":      "yuchao.li",
			"status":          "running",
			"duration":        "10",
			"max_connections": "10",
			"RU_capacity":     "100",
			"data_size":       "test_size",
			"cloud_provider":  "aws",
			"user_email":      "yuchao.li@pingcap.com",
			"start_at":        "20250825",
		},
	}

	err = cli.SendEmailWithTemplate(context.Background(), req)
	if err != nil {
		t.Fatal(err)
	}
}
