项目文件夹

文件
wehub-resource-sync 26f897c1ec
release / release-please (push) Failing after 1m49s
docs / build (push) Failing after 6m34s
release / build-and-upload (arm64, linux) (push) Has been cancelled
release / build-and-upload (arm64, windows) (push) Has been cancelled
release / build-darwin (amd64, darwin) (push) Has been cancelled
release / checksums (push) Has been cancelled
release / finalize (push) Has been cancelled
release / build-darwin (arm64, darwin) (push) Has been cancelled
release / build-and-upload (amd64, linux) (push) Has been cancelled
release / build-and-upload (amd64, windows) (push) Has been cancelled
docs / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:34:16 +08:00

74 行
2.1 KiB
Go

package daemon
import (
"path/filepath"
"testing"
"github.com/kunchenguid/no-mistakes/internal/db"
"github.com/kunchenguid/no-mistakes/internal/types"
)
func TestStepToInfoIncludesFixSummaries(t *testing.T) {
d, err := db.Open(filepath.Join(t.TempDir(), "test.db"))
if err != nil {
t.Fatalf("open db: %v", err)
}
defer d.Close()
repo, err := d.InsertRepo("/home/user/project", "git@github.com:user/project.git", "main")
if err != nil {
t.Fatalf("insert repo: %v", err)
}
run, err := d.InsertRun(repo.ID, "feature", "abc", "def")
if err != nil {
t.Fatalf("insert run: %v", err)
}
step, err := d.InsertStepResult(run.ID, types.StepReview)
if err != nil {
t.Fatalf("insert step: %v", err)
}
findings := `{"findings":[{"id":"review-1","severity":"warning","description":"x"}],"summary":"1"}`
if _, err := d.InsertStepRound(step.ID, 1, "initial", &findings, nil, 100); err != nil {
t.Fatalf("insert round 1: %v", err)
}
sum := "handle nil pointer in executor"
if _, err := d.InsertStepRound(step.ID, 2, "auto_fix", nil, &sum, 100); err != nil {
t.Fatalf("insert round 2: %v", err)
}
info := stepToInfo(d, step)
if len(info.FixSummaries) != 1 || info.FixSummaries[0] != sum {
t.Errorf("fix summaries = %v, want [%q]", info.FixSummaries, sum)
}
}
func TestStepToInfoNoFixSummariesWithoutFixRounds(t *testing.T) {
d, err := db.Open(filepath.Join(t.TempDir(), "test.db"))
if err != nil {
t.Fatalf("open db: %v", err)
}
defer d.Close()
repo, err := d.InsertRepo("/home/user/project", "git@github.com:user/project.git", "main")
if err != nil {
t.Fatalf("insert repo: %v", err)
}
run, err := d.InsertRun(repo.ID, "feature", "abc", "def")
if err != nil {
t.Fatalf("insert run: %v", err)
}
step, err := d.InsertStepResult(run.ID, types.StepLint)
if err != nil {
t.Fatalf("insert step: %v", err)
}
if _, err := d.InsertStepRound(step.ID, 1, "initial", nil, nil, 100); err != nil {
t.Fatalf("insert round: %v", err)
}
info := stepToInfo(d, step)
if len(info.FixSummaries) != 0 {
t.Errorf("fix summaries = %v, want none", info.FixSummaries)
}
}