github.com/rivy-go/git-changelog@v0.0.0-20240424224517-b86e6ab57773/cmd/git-changelog/config_builder_test.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestConfigBuilder(t *testing.T) { 11 assert := assert.New(t) 12 builder := NewConfigBuilder() 13 14 out, err := builder.Build(&Answer{ 15 RepositoryURL: "https://github.com/rivy-go/git-changelog/git-changelog/", 16 Style: styleNone, 17 CommitMessageFormat: fmtGitBasic.display, 18 Template: tplStandard.display, 19 }) 20 21 assert.Nil(err) 22 assert.Contains(out, "style: none") 23 assert.Contains(out, "template: CHANGELOG.tpl.md") 24 assert.Contains(out, " repository_url: https://github.com/rivy-go/git-changelog/git-changelog") 25 assert.Contains(out, fmt.Sprintf(" pattern: \"%s\"", fmtGitBasic.pattern)) 26 assert.Contains(out, fmt.Sprintf( 27 ` pattern_maps: 28 - %s 29 - %s`, 30 fmtGitBasic.patternMaps[0], 31 fmtGitBasic.patternMaps[1], 32 )) 33 } 34 35 func TestConfigBuilderEmptyRepoURL(t *testing.T) { 36 assert := assert.New(t) 37 builder := NewConfigBuilder() 38 39 out, err := builder.Build(&Answer{ 40 RepositoryURL: "", 41 Style: styleNone, 42 CommitMessageFormat: fmtGitBasic.display, 43 Template: tplStandard.display, 44 }) 45 46 assert.Nil(err) 47 assert.Contains(out, " repository_url: \"\"") 48 } 49 50 func TestConfigBuilderInvalidFormat(t *testing.T) { 51 assert := assert.New(t) 52 builder := NewConfigBuilder() 53 54 _, err := builder.Build(&Answer{ 55 RepositoryURL: "", 56 Style: styleNone, 57 CommitMessageFormat: "", 58 Template: tplStandard.display, 59 }) 60 61 assert.Contains(err.Error(), "invalid commit message format") 62 }