aboutsummaryrefslogtreecommitdiff
path: root/main_test.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--main_test.go65
1 files changed, 62 insertions, 3 deletions
diff --git a/main_test.go b/main_test.go
index e333064..ba321b1 100644
--- a/main_test.go
+++ b/main_test.go
@@ -3,6 +3,7 @@ package main
import (
"bytes"
"log"
+ "strings"
"testing"
"github.com/Masterminds/semver/v3"
@@ -10,6 +11,7 @@ import (
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing"
"github.com/go-git/go-git/v5/storage/filesystem"
+ "github.com/spf13/viper"
)
var (
@@ -70,13 +72,70 @@ func TestCmd(t *testing.T) {
output: "2.0.0",
isError: nil,
},
+ {
+ name: "major bump new prerelease",
+ input: "major --prerelease --key-args PR_NUM=11",
+ prior: "1.2.1",
+ output: "2.0.0-PR.11.0",
+ isError: nil,
+ },
+ {
+ name: "major bump existing prerelease bump",
+ input: "major --prerelease --key-args PR_NUM=11",
+ prior: "2.0.0-PR.11.0",
+ output: "2.0.0-PR.11.1",
+ isError: nil,
+ },
+ {
+ name: "minor bump new prerelease",
+ input: "minor --prerelease --key-args PR_NUM=11",
+ prior: "1.2.1",
+ output: "1.3.0-PR.11.0",
+ isError: nil,
+ },
+ {
+ name: "minor bump existing prerelease bump",
+ input: "minor --prerelease --key-args PR_NUM=11",
+ prior: "1.3.0-PR.11.0",
+ output: "1.3.0-PR.11.1",
+ isError: nil,
+ },
+ {
+ name: "patch bump new prerelease",
+ input: "patch --prerelease --key-args PR_NUM=11",
+ prior: "1.2.1",
+ output: "1.2.2-PR.11.0",
+ isError: nil,
+ },
+ {
+ name: "patch bump existing prerelease bump",
+ input: "patch --prerelease --key-args PR_NUM=11",
+ prior: "1.2.2-PR.11.0",
+ output: "1.2.2-PR.11.1",
+ isError: nil,
+ },
+ {
+ name: "patch bump different fmt",
+ input: "patch --prerelease --prerelease-fmt NOTME.$BumpInt",
+ prior: "1.2.3",
+ output: "1.2.4-NOTME.0",
+ isError: nil,
+ },
+ {
+ name: "patch bump existing different fmt",
+ input: "patch --prerelease --prerelease-fmt NOTME.$BumpInt",
+ prior: "1.2.4-NOTME.0",
+ output: "1.2.4-NOTME.1",
+ isError: nil,
+ },
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
logOut := &bytes.Buffer{}
- repoDir = t.TempDir()
+ repoDir := t.TempDir()
testRepo := newRepo(repoDir)
+ viper.Set("repo-dir", repoDir)
wt, _ := testRepo.Worktree()
hash, err := makeCommit(wt)
if err != nil {
@@ -88,12 +147,12 @@ func TestCmd(t *testing.T) {
t.Fatal(err)
}
- rootCmd.SetArgs([]string{test.input})
+ rootCmd.SetArgs(strings.Split(test.input, " "))
rootCmd.SetOut(logOut)
rootCmd.SetErr(logOut)
result := rootCmd.Execute()
if result != test.isError {
- t.Fatal("didn't expect this")
+ t.Fatalf("didn't expect %s", result)
}
out := logOut.String()
t.Logf("stuff %s", out)