refactor: Various cleanup (#11)

* refactor: interface for commit message analyzer

* refactor: interface for versioning strategy

* refactor(releasepr): rebuild pr description

Build PR description from scratch and parsed values instead of copying some of the AST to next description.
This commit is contained in:
Julian Tölle 2024-08-08 19:01:44 +02:00 committed by GitHub
parent 8f106e4028
commit d8daad7623
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 197 additions and 268 deletions

View file

@ -3,7 +3,6 @@ package rp
import (
"testing"
"github.com/leodido/go-conventionalcommits"
"github.com/stretchr/testify/assert"
)
@ -12,14 +11,12 @@ func TestAnalyzeCommits(t *testing.T) {
name string
commits []Commit
expectedCommits []AnalyzedCommit
expectedBump conventionalcommits.VersionBump
wantErr assert.ErrorAssertionFunc
}{
{
name: "empty commits",
commits: []Commit{},
expectedCommits: []AnalyzedCommit{},
expectedBump: conventionalcommits.UnknownVersion,
wantErr: assert.NoError,
},
{
@ -30,7 +27,6 @@ func TestAnalyzeCommits(t *testing.T) {
},
},
expectedCommits: nil,
expectedBump: conventionalcommits.UnknownVersion,
wantErr: assert.Error,
},
{
@ -41,7 +37,6 @@ func TestAnalyzeCommits(t *testing.T) {
},
},
expectedCommits: []AnalyzedCommit{},
expectedBump: conventionalcommits.UnknownVersion,
wantErr: assert.NoError,
},
{
@ -61,8 +56,7 @@ func TestAnalyzeCommits(t *testing.T) {
Description: "blabla",
},
},
expectedBump: conventionalcommits.PatchVersion,
wantErr: assert.NoError,
wantErr: assert.NoError,
},
{
name: "highest bump (minor)",
@ -86,8 +80,7 @@ func TestAnalyzeCommits(t *testing.T) {
Description: "foobar",
},
},
expectedBump: conventionalcommits.MinorVersion,
wantErr: assert.NoError,
wantErr: assert.NoError,
},
{
@ -113,19 +106,17 @@ func TestAnalyzeCommits(t *testing.T) {
BreakingChange: true,
},
},
expectedBump: conventionalcommits.MajorVersion,
wantErr: assert.NoError,
wantErr: assert.NoError,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
analyzedCommits, versionBump, err := AnalyzeCommits(tt.commits)
analyzedCommits, err := NewConventionalCommitsParser().AnalyzeCommits(tt.commits)
if !tt.wantErr(t, err) {
return
}
assert.Equal(t, tt.expectedCommits, analyzedCommits)
assert.Equal(t, tt.expectedBump, versionBump)
})
}
}