Preserve structured diagnostics and candidate error context
This commit is contained in:
@@ -17,6 +17,7 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
releasekit "gitea.maximumdirect.net/eric/ReleaseKit"
|
||||
"gitea.maximumdirect.net/eric/ReleaseKit/buildinfo"
|
||||
"gitea.maximumdirect.net/eric/ReleaseKit/cmd/releasekit/internal/cli"
|
||||
)
|
||||
@@ -149,6 +150,20 @@ func TestCandidateCommandsPresentValidationDiagnosticsOnce(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestCandidateFailurePresentationRetainsCallbackContext(t *testing.T) {
|
||||
diagnostic := &releasekit.ValidationError{
|
||||
Check: "examples",
|
||||
Findings: []releasekit.ValidationFinding{{Path: "examples/run/main.go", Message: "unexpected output"}},
|
||||
}
|
||||
err := fmt.Errorf("validate candidate captured-commit: %w", diagnostic)
|
||||
text := candidateFailureText(err)
|
||||
for _, part := range []string{"captured-commit", "examples", "examples/run/main.go", "unexpected output"} {
|
||||
if !strings.Contains(text, part) {
|
||||
t.Errorf("CLI presentation %q omits %q", text, part)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPublishCommandPublishesConfiguredCandidate(t *testing.T) {
|
||||
repository := newCLIRepository(t)
|
||||
writeRepositoryFile(t, repository, "docs/releases/v1.2.3.md", "# Example Product v1.2.3\n\n## Compatibility\n\nNo action required.\n")
|
||||
|
||||
Reference in New Issue
Block a user