github.com/RevenueMonster/sqlike@v1.0.6/sqlike/actions/actions_test.go (about) 1 package actions 2 3 import ( 4 "testing" 5 6 "github.com/RevenueMonster/sqlike/sql/expr" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestActions(t *testing.T) { 11 require.Equal(t, new(FindOneActions), FindOne()) 12 require.Equal(t, new(FindActions), Find()) 13 require.Equal(t, new(PaginateActions), Paginate()) 14 require.Equal(t, new(UpdateOneActions), UpdateOne()) 15 require.Equal(t, new(UpdateActions), Update()) 16 require.Equal(t, new(DeleteOneActions), DeleteOne()) 17 require.Equal(t, new(DeleteActions), Delete()) 18 19 foAction := new(FindOneActions) 20 foAction.OrderBy(expr.Asc("Aa"), expr.Desc("Bb"), expr.Desc("Cc")) 21 require.ElementsMatch(t, []interface{}{ 22 expr.Asc("Aa"), 23 expr.Desc("Bb"), 24 expr.Desc("Cc"), 25 }, foAction.Sorts) 26 27 dlAction := new(DeleteActions) 28 dlAction.Limit(12) 29 require.Equal(t, uint(12), dlAction.Record) 30 dlAction.OrderBy(expr.Asc("A"), expr.Desc("B")) 31 require.ElementsMatch(t, []interface{}{ 32 expr.Asc("A"), 33 expr.Desc("B"), 34 }, dlAction.Sorts) 35 }