From 893f893d6c59146c229857d5305db54086106c53 Mon Sep 17 00:00:00 2001 From: Beatriz Vieira Date: Tue, 1 Mar 2022 00:03:15 -0300 Subject: [PATCH] test: add unit test for template functions issue: #40 --- sv/formatter_functions_test.go | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 sv/formatter_functions_test.go diff --git a/sv/formatter_functions_test.go b/sv/formatter_functions_test.go new file mode 100644 index 0000000..83a2d92 --- /dev/null +++ b/sv/formatter_functions_test.go @@ -0,0 +1,45 @@ +package sv + +import ( + "reflect" + "testing" + "time" +) + +func Test_timeFormat(t *testing.T) { + tests := []struct { + name string + time time.Time + format string + want string + }{ + {"valid time", time.Date(2022, 1, 1, 0, 0, 0, 0, time.UTC), "2006-01-02", "2022-01-01"}, + {"empty time", time.Time{}, "2006-01-02", ""}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := timeFormat(tt.time, tt.format); got != tt.want { + t.Errorf("timeFormat() = %v, want %v", got, tt.want) + } + }) + } +} + +func Test_getSection(t *testing.T) { + tests := []struct { + name string + sections []ReleaseNoteSection + sectionName string + want ReleaseNoteSection + }{ + {"existing section", []ReleaseNoteSection{ReleaseNoteCommitsSection{Name: "section 0"}, ReleaseNoteCommitsSection{Name: "section 1"}, ReleaseNoteCommitsSection{Name: "section 2"}}, "section 1", ReleaseNoteCommitsSection{Name: "section 1"}}, + {"nonexisting section", []ReleaseNoteSection{ReleaseNoteCommitsSection{Name: "section 0"}, ReleaseNoteCommitsSection{Name: "section 1"}, ReleaseNoteCommitsSection{Name: "section 2"}}, "section 10", nil}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := getSection(tt.sections, tt.sectionName); !reflect.DeepEqual(got, tt.want) { + t.Errorf("getSection() = %v, want %v", got, tt.want) + } + }) + } +}