mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-04-23 12:18:51 +02:00
50 lines
958 B
Go
50 lines
958 B
Go
package config
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestUserConfigValidate_enums(t *testing.T) {
|
|
type testCase struct {
|
|
value string
|
|
valid bool
|
|
}
|
|
|
|
scenarios := []struct {
|
|
name string
|
|
setup func(config *UserConfig, value string)
|
|
testCases []testCase
|
|
}{
|
|
{
|
|
name: "Gui.StatusPanelView",
|
|
setup: func(config *UserConfig, value string) {
|
|
config.Gui.StatusPanelView = value
|
|
},
|
|
testCases: []testCase{
|
|
{value: "dashboard", valid: true},
|
|
{value: "allBranchesLog", valid: true},
|
|
{value: "", valid: false},
|
|
{value: "invalid_value", valid: false},
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, s := range scenarios {
|
|
t.Run(s.name, func(t *testing.T) {
|
|
for _, testCase := range s.testCases {
|
|
config := GetDefaultConfig()
|
|
s.setup(config, testCase.value)
|
|
err := config.Validate()
|
|
|
|
if testCase.valid {
|
|
assert.NoError(t, err)
|
|
} else {
|
|
assert.Error(t, err)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|