github.com/jenkins-x/jx/v2@v2.1.155/pkg/gits/commits_test.go (about)

     1  // +build unit
     2  
     3  package gits_test
     4  
     5  import (
     6  	"testing"
     7  
     8  	"github.com/jenkins-x/jx/v2/pkg/gits"
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func TestParseCommits(t *testing.T) {
    13  	t.Parallel()
    14  	assertParseCommit(t, "something regular", &gits.CommitInfo{
    15  		Message: "something regular",
    16  	})
    17  	assertParseCommit(t, "feat: cheese", &gits.CommitInfo{
    18  		Kind:    "feat",
    19  		Message: "cheese",
    20  	})
    21  	assertParseCommit(t, "feat(beer): wine is good too", &gits.CommitInfo{
    22  		Kind:    "feat",
    23  		Feature: "beer",
    24  		Message: "wine is good too",
    25  	})
    26  }
    27  
    28  func assertParseCommit(t *testing.T, input string, expected *gits.CommitInfo) {
    29  	info := gits.ParseCommit(input)
    30  	assert.NotNil(t, info)
    31  	assert.Equal(t, expected.Kind, info.Kind, "Kind for Commit %s", info)
    32  	assert.Equal(t, expected.Feature, info.Feature, "Feature for Commit %s", info)
    33  	assert.Equal(t, expected.Message, info.Message, "Message for Commit %s", info)
    34  	assert.Equal(t, expected, info, "CommitInfo for Commit %s", info)
    35  }