0
0
mirror of https://github.com/thegeeklab/git-sv.git synced 2024-11-14 07:40:40 +00:00
git-sv/sv/formatter_test.go

48 lines
1.1 KiB
Go
Raw Normal View History

2020-05-01 03:45:08 +00:00
package sv
import (
"testing"
"time"
"github.com/Masterminds/semver"
)
var dateChangelog = `## v1.0.0 (2020-05-01)
`
var emptyDateChangelog = `## v1.0.0
`
var emptyVersionChangelog = `## 2020-05-01
`
2020-05-01 03:45:08 +00:00
func TestOutputFormatterImpl_FormatReleaseNote(t *testing.T) {
date, _ := time.Parse("2006-01-02", "2020-05-01")
tests := []struct {
name string
input ReleaseNote
want string
}{
{"with date", emptyReleaseNote("1.0.0", date.Truncate(time.Minute)), dateChangelog},
{"without date", emptyReleaseNote("1.0.0", time.Time{}.Truncate(time.Minute)), emptyDateChangelog},
{"without version", emptyReleaseNote("", date.Truncate(time.Minute)), emptyVersionChangelog},
2020-05-01 03:45:08 +00:00
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := NewOutputFormatter().FormatReleaseNote(tt.input); got != tt.want {
t.Errorf("OutputFormatterImpl.FormatReleaseNote() = %v, want %v", got, tt.want)
}
})
}
}
func emptyReleaseNote(version string, date time.Time) ReleaseNote {
var v *semver.Version
if version != "" {
v = semver.MustParse(version)
}
2020-05-01 03:45:08 +00:00
return ReleaseNote{
Version: v,
2020-05-01 03:45:08 +00:00
Date: date,
}
}