github.com/goreleaser/goreleaser@v1.25.1/internal/client/release_notes_test.go (about) 1 package client 2 3 import ( 4 "testing" 5 6 "github.com/goreleaser/goreleaser/pkg/config" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestGetReleaseNotes(t *testing.T) { 11 const existing = "existing rel notes" 12 const current = "current rel notes" 13 14 t.Run("keep and existing empty", func(t *testing.T) { 15 require.Equal(t, current, getReleaseNotes("", current, config.ReleaseNotesModeKeepExisting)) 16 }) 17 18 t.Run("keep", func(t *testing.T) { 19 require.Equal(t, existing, getReleaseNotes(existing, current, config.ReleaseNotesModeKeepExisting)) 20 }) 21 22 t.Run("replace", func(t *testing.T) { 23 require.Equal(t, current, getReleaseNotes(existing, current, config.ReleaseNotesModeReplace)) 24 }) 25 26 t.Run("append", func(t *testing.T) { 27 require.Equal(t, "existing rel notes\n\ncurrent rel notes", getReleaseNotes(existing, current, config.ReleaseNotesModeAppend)) 28 }) 29 30 t.Run("prepend", func(t *testing.T) { 31 require.Equal(t, "current rel notes\n\nexisting rel notes", getReleaseNotes(existing, current, config.ReleaseNotesModePrepend)) 32 }) 33 34 t.Run("invalid", func(t *testing.T) { 35 require.Equal(t, existing, getReleaseNotes(existing, current, config.ReleaseNotesMode("invalid"))) 36 }) 37 }