2024-08-31 15:23:21 +02:00
|
|
|
package updater
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
)
|
|
|
|
|
|
2025-08-23 22:14:34 +02:00
|
|
|
func TestChangelogUpdater_Files(t *testing.T) {
|
|
|
|
|
assert.Equal(t, []string{"CHANGELOG.md"}, Changelog().Files())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestChangelogUpdater_CreateNewFiles(t *testing.T) {
|
|
|
|
|
assert.True(t, Changelog().CreateNewFiles())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestChangelogUpdater_Update(t *testing.T) {
|
2024-08-31 15:23:21 +02:00
|
|
|
tests := []updaterTestCase{
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "empty file",
|
|
|
|
|
content: "",
|
|
|
|
|
info: ReleaseInfo{ChangelogEntry: "## v1.0.0\n"},
|
|
|
|
|
want: "# Changelog\n\n## v1.0.0\n",
|
|
|
|
|
wantErr: assert.NoError,
|
2024-08-31 15:23:21 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: "well-formatted changelog",
|
|
|
|
|
content: `# Changelog
|
|
|
|
|
|
|
|
|
|
## v0.0.1
|
|
|
|
|
|
|
|
|
|
- Bazzle
|
|
|
|
|
|
|
|
|
|
## v0.1.0
|
|
|
|
|
|
|
|
|
|
### Bazuuum
|
|
|
|
|
`,
|
2025-08-23 22:14:34 +02:00
|
|
|
info: ReleaseInfo{ChangelogEntry: "## v1.0.0\n\n- Version 1, juhu.\n"},
|
2024-08-31 15:23:21 +02:00
|
|
|
want: `# Changelog
|
|
|
|
|
|
|
|
|
|
## v1.0.0
|
|
|
|
|
|
|
|
|
|
- Version 1, juhu.
|
|
|
|
|
|
|
|
|
|
## v0.0.1
|
|
|
|
|
|
|
|
|
|
- Bazzle
|
|
|
|
|
|
|
|
|
|
## v0.1.0
|
|
|
|
|
|
|
|
|
|
### Bazuuum
|
|
|
|
|
`,
|
|
|
|
|
wantErr: assert.NoError,
|
|
|
|
|
},
|
|
|
|
|
{
|
2025-08-23 22:14:34 +02:00
|
|
|
name: "error on invalid header",
|
|
|
|
|
content: "What even is this file?",
|
|
|
|
|
info: ReleaseInfo{ChangelogEntry: "## v1.0.0\n\n- Version 1, juhu.\n"},
|
|
|
|
|
want: "",
|
|
|
|
|
wantErr: assert.Error,
|
2024-08-31 15:23:21 +02:00
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
for _, tt := range tests {
|
|
|
|
|
t.Run(tt.name, func(t *testing.T) {
|
2025-08-23 22:14:34 +02:00
|
|
|
runUpdaterTest(t, Changelog(), tt)
|
2024-08-31 15:23:21 +02:00
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|