github.com/azunymous/cdx@v0.0.0-20201122180449-fbb46cc4d252/vcs/gogit/increment_test.go (about) 1 package gogit 2 3 import ( 4 "github.com/azunymous/cdx/test/check" 5 "github.com/azunymous/cdx/versioned" 6 "github.com/go-git/go-billy/v5/memfs" 7 "testing" 8 ) 9 10 func TestIncrementTag(t *testing.T) { 11 fs := memfs.New() 12 createGitRepo(fs) 13 createVersionTag(fs, "app-0.1.0") 14 createCommit(fs, "New Version", "Hello world 2") 15 16 repo := newTestRepo(fs) 17 err := repo.IncrementTag("app", versioned.Minor) 18 check.Ok(t, err) 19 err = tagExistsAtHead(fs, "app-0.2.0") 20 check.Ok(t, err) 21 } 22 23 func TestIncrementTagAlreadyExists(t *testing.T) { 24 fs := memfs.New() 25 createGitRepo(fs) 26 createVersionTag(fs, "app-0.1.0") 27 28 repo := newTestRepo(fs) 29 err := repo.IncrementTag("app", versioned.Minor) 30 check.Ok(t, err) 31 err = tagExistsAtHead(fs, "app-0.1.0") 32 check.Ok(t, err) 33 err = tagDoesNotExist(fs, "app-0.2.0") 34 check.Ok(t, err) 35 } 36 37 func TestIncrementTagDifferentField(t *testing.T) { 38 fs := memfs.New() 39 createGitRepo(fs) 40 createVersionTag(fs, "app-1.1.1") 41 createCommit(fs, "New Version", "Hello world 2") 42 43 repo := newTestRepo(fs) 44 err := repo.IncrementTag("app", versioned.Major) 45 check.Ok(t, err) 46 err = tagExistsAtHead(fs, "app-2.0.0") 47 check.Ok(t, err) 48 } 49 50 func TestIncrementTagCreatesNewTagWhenNoTagsExist(t *testing.T) { 51 fs := memfs.New() 52 createGitRepo(fs) 53 54 repo := newTestRepo(fs) 55 err := repo.IncrementTag("app", versioned.Minor) 56 check.Ok(t, err) 57 err = tagExistsAtHead(fs, "app-0.1.0") 58 check.Ok(t, err) 59 }