github.com/fredbi/git-chglog@v0.0.0-20190706071416-d35c598eac81/cmd/git-chglog/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 TestConfigBulider(t *testing.T) { 11 assert := assert.New(t) 12 builder := NewConfigBuilder() 13 14 out, err := builder.Build(&Answer{ 15 RepositoryURL: "https://github.com/fredbi/git-chglog/", 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/fredbi/git-chglog/git-chglog") 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 TestConfigBuliderEmptyRepoURL(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 TestConfigBuliderInvalidFormat(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 }