Files
go-golden/update_test.go
Jim Myhrberg 3185b09d09 refactor(golden): major refactor and improvements
This includes sanitizing golden file names to avoid characters and names
which are invalid on some operating systems. So this should now work on
Linux, macOS, and Window.
2021-09-17 02:21:32 +01:00

107 lines
2.1 KiB
Go

package golden
import (
"testing"
"github.com/jimeh/envctl"
"github.com/stretchr/testify/assert"
)
var envUpdateFuncTestCases = []struct {
name string
env map[string]string
want bool
}{
{
name: "GOLDEN_UPDATE not set",
want: false,
},
{
name: "GOLDEN_UPDATE set to empty string",
env: map[string]string{"GOLDEN_UPDATE": ""},
want: false,
},
{
name: "GOLDEN_UPDATE set to 0",
env: map[string]string{"GOLDEN_UPDATE": "0"},
want: false,
},
{
name: "GOLDEN_UPDATE set to 1",
env: map[string]string{"GOLDEN_UPDATE": "1"},
want: true,
},
{
name: "GOLDEN_UPDATE set to 2",
env: map[string]string{"GOLDEN_UPDATE": "2"},
want: false,
},
{
name: "GOLDEN_UPDATE set to y",
env: map[string]string{"GOLDEN_UPDATE": "y"},
want: true,
},
{
name: "GOLDEN_UPDATE set to n",
env: map[string]string{"GOLDEN_UPDATE": "n"},
want: false,
},
{
name: "GOLDEN_UPDATE set to t",
env: map[string]string{"GOLDEN_UPDATE": "t"},
want: true,
},
{
name: "GOLDEN_UPDATE set to f",
env: map[string]string{"GOLDEN_UPDATE": "f"},
want: false,
},
{
name: "GOLDEN_UPDATE set to yes",
env: map[string]string{"GOLDEN_UPDATE": "yes"},
want: true,
},
{
name: "GOLDEN_UPDATE set to no",
env: map[string]string{"GOLDEN_UPDATE": "no"},
want: false,
},
{
name: "GOLDEN_UPDATE set to on",
env: map[string]string{"GOLDEN_UPDATE": "on"},
want: true,
},
{
name: "GOLDEN_UPDATE set to off",
env: map[string]string{"GOLDEN_UPDATE": "off"},
want: false,
},
{
name: "GOLDEN_UPDATE set to true",
env: map[string]string{"GOLDEN_UPDATE": "true"},
want: true,
},
{
name: "GOLDEN_UPDATE set to false",
env: map[string]string{"GOLDEN_UPDATE": "false"},
want: false,
},
{
name: "GOLDEN_UPDATE set to foobarnopebbq",
env: map[string]string{"GOLDEN_UPDATE": "foobarnopebbq"},
want: false,
},
}
func TestEnvUpdateFunc(t *testing.T) {
for _, tt := range envUpdateFuncTestCases {
t.Run(tt.name, func(t *testing.T) {
envctl.WithClean(tt.env, func() {
got := EnvUpdateFunc()
assert.Equal(t, tt.want, got)
})
})
}
}