github.com/RevenueMonster/sqlike@v1.0.6/sqlike/options/find_test.go (about) 1 package options 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestFind(t *testing.T) { 10 opt := Find() 11 12 t.Run("SetDebug", func(it *testing.T) { 13 { 14 opt.SetDebug(true) 15 require.True(it, opt.Debug) 16 } 17 18 { 19 opt.SetDebug(false) 20 require.False(it, opt.Debug) 21 } 22 }) 23 24 t.Run("SetNoLimit", func(it *testing.T) { 25 { 26 opt.SetNoLimit(true) 27 require.True(it, opt.NoLimit) 28 } 29 30 { 31 opt.SetNoLimit(false) 32 require.False(it, opt.NoLimit) 33 } 34 }) 35 36 t.Run("SetOmitFields", func(it *testing.T) { 37 opt.SetOmitFields("A", "_underscore", "cdf") 38 require.ElementsMatch(it, []string{ 39 "A", "_underscore", "cdf", 40 }, opt.OmitFields) 41 }) 42 43 t.Run("SetLockMode", func(it *testing.T) { 44 { 45 opt.SetLockMode(LockForRead) 46 require.Equal(it, LockForRead, opt.LockMode) 47 } 48 49 { 50 opt.SetLockMode(LockForUpdate) 51 require.Equal(it, LockForUpdate, opt.LockMode) 52 } 53 54 { 55 // default lock 56 ot := FindOne() 57 require.Equal(it, LockMode(0), ot.LockMode) 58 } 59 }) 60 }