package config import ( "testing" "github.com/stretchr/testify/assert" ) func TestEnvString(t *testing.T) { cases := Envs[:] cases = append(cases, Env("foobar"), Env(""), Env("42"), Env("✨")) for _, e := range cases { t.Run(string(e), func(t *testing.T) { assert.Equal(t, string(e), e.String()) }) } } func TestValidEnv(t *testing.T) { cases := [...]struct { e Env exp bool }{ {DEV, true}, {PROD, true}, {QA, true}, {TEST, true}, {Env("foobar"), false}, {Env(""), false}, {Env("✨"), false}, } for _, c := range cases { t.Run(string(c.e), func(t *testing.T) { assert.Equal(t, c.exp, ValidEnv(c.e)) }) } } func TestValidEnvOrDev(t *testing.T) { cases := [...]struct { give Env exp Env }{ {DEV, DEV}, {PROD, PROD}, {QA, QA}, {TEST, TEST}, {Env("foobar"), DEV}, {Env(""), DEV}, {Env("✨"), DEV}, } for _, c := range cases { t.Run(string(c.give), func(t *testing.T) { assert.Equal(t, c.exp, ValidEnvOrDev(c.give)) }) } }