github.com/99designs/gqlgen@v0.17.45/codegen/config/initialisms_test.go (about) 1 package config 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 9 "github.com/99designs/gqlgen/codegen/templates" 10 ) 11 12 func TestGoInitialismsConfig(t *testing.T) { 13 t.Run("load go initialisms config", func(t *testing.T) { 14 config, err := LoadConfig("testdata/cfg/goInitialisms.yml") 15 require.NoError(t, err) 16 require.True(t, config.GoInitialisms.ReplaceDefaults) 17 require.Len(t, config.GoInitialisms.Initialisms, 2) 18 }) 19 t.Run("empty initialism config doesn't change anything", func(t *testing.T) { 20 tt := GoInitialismsConfig{} 21 result := tt.determineGoInitialisms() 22 assert.Equal(t, len(templates.CommonInitialisms), len(result)) 23 }) 24 t.Run("initialism config appends if desired", func(t *testing.T) { 25 tt := GoInitialismsConfig{ReplaceDefaults: false, Initialisms: []string{"ASDF"}} 26 result := tt.determineGoInitialisms() 27 assert.Equal(t, len(templates.CommonInitialisms)+1, len(result)) 28 assert.True(t, result["ASDF"]) 29 }) 30 t.Run("initialism config replaces if desired", func(t *testing.T) { 31 tt := GoInitialismsConfig{ReplaceDefaults: true, Initialisms: []string{"ASDF"}} 32 result := tt.determineGoInitialisms() 33 assert.Equal(t, 1, len(result)) 34 assert.True(t, result["ASDF"]) 35 }) 36 t.Run("initialism config uppercases the initialsms", func(t *testing.T) { 37 tt := GoInitialismsConfig{Initialisms: []string{"asdf"}} 38 result := tt.determineGoInitialisms() 39 assert.True(t, result["ASDF"]) 40 }) 41 }