github.com/dolanor/pop@v4.13.0+incompatible/genny/model/options_test.go (about) 1 package model 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func Test_Options_Validate(t *testing.T) { 10 r := require.New(t) 11 12 opts := &Options{} 13 err := opts.Validate() 14 r.Error(err) 15 16 opts.Name = "widget" 17 18 err = opts.Validate() 19 r.NoError(err) 20 r.Equal(0, len(opts.Attrs)) 21 22 // Force ID opt 23 opts.ForceDefaultID = true 24 err = opts.Validate() 25 r.NoError(err) 26 r.Equal(1, len(opts.Attrs)) 27 r.Equal("id", opts.Attrs[0].Name.String()) 28 29 // Force default timestamps 30 opts.ForceDefaultTimestamps = true 31 err = opts.Validate() 32 r.NoError(err) 33 34 r.Equal(3, len(opts.Attrs)) 35 r.Equal("created_at", opts.Attrs[1].Name.String()) 36 r.Equal("updated_at", opts.Attrs[2].Name.String()) 37 }