Files
go-conventionalcommit/message_test.go

81 lines
1.5 KiB
Go

package conventionalcommit
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestMessage_IsBreakingChange(t *testing.T) {
type fields struct {
Breaking bool
BreakingChanges []string
}
tests := []struct {
name string
fields fields
want bool
}{
{
name: "false breaking flag, no change texts",
fields: fields{
Breaking: false,
BreakingChanges: []string{},
},
want: false,
},
{
name: "true breaking flag, no change texts",
fields: fields{
Breaking: true,
BreakingChanges: []string{},
},
want: true,
},
{
name: "false breaking flag, 1 change texts",
fields: fields{
Breaking: false,
BreakingChanges: []string{"be careful"},
},
want: true,
},
{
name: "true breaking flag, 1 change texts",
fields: fields{
Breaking: true,
BreakingChanges: []string{"be careful"},
},
want: true,
},
{
name: "false breaking flag, 3 change texts",
fields: fields{
Breaking: false,
BreakingChanges: []string{"be careful", "oops", "ouch"},
},
want: true,
},
{
name: "true breaking flag, 3 change texts",
fields: fields{
Breaking: true,
BreakingChanges: []string{"be careful", "oops", "ouch"},
},
want: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
msg := &Message{
Breaking: tt.fields.Breaking,
BreakingChanges: tt.fields.BreakingChanges,
}
got := msg.IsBreakingChange()
assert.Equal(t, tt.want, got)
})
}
}