@@ -11,7 +11,7 @@ import (
1111 "github.com/stretchr/testify/assert"
1212)
1313
14- func TestBuilderSelect (t * testing.T ) {
14+ func TestBuilder_Select (t * testing.T ) {
1515 sql , args , err := Select ("c, d" ).From ("table1" ).ToSQL ()
1616 assert .NoError (t , err )
1717 fmt .Println (sql , args )
@@ -23,7 +23,30 @@ func TestBuilderSelect(t *testing.T) {
2323 sql , args , err = Select ("c, d" ).From ("table1" ).LeftJoin ("table2" , Eq {"table1.id" : 1 }.And (Lt {"table2.id" : 3 })).
2424 RightJoin ("table3" , "table2.id = table3.tid" ).Where (Eq {"a" : 1 }).ToSQL ()
2525 assert .NoError (t , err )
26- fmt .Println (sql , args )
26+ assert .EqualValues (t , "SELECT c, d FROM table1 LEFT JOIN table2 ON table1.id=? AND table2.id<? RIGHT JOIN table3 ON table2.id = table3.tid WHERE a=?" ,
27+ sql )
28+ assert .EqualValues (t , []interface {}{1 , 3 , 1 }, args )
29+
30+ sql , args , err = Select ("c, d" ).From ("table1" ).LeftJoin ("table2" , Eq {"table1.id" : 1 }.And (Lt {"table2.id" : 3 })).
31+ FullJoin ("table3" , "table2.id = table3.tid" ).Where (Eq {"a" : 1 }).ToSQL ()
32+ assert .NoError (t , err )
33+ assert .EqualValues (t , "SELECT c, d FROM table1 LEFT JOIN table2 ON table1.id=? AND table2.id<? FULL JOIN table3 ON table2.id = table3.tid WHERE a=?" ,
34+ sql )
35+ assert .EqualValues (t , []interface {}{1 , 3 , 1 }, args )
36+
37+ sql , args , err = Select ("c, d" ).From ("table1" ).LeftJoin ("table2" , Eq {"table1.id" : 1 }.And (Lt {"table2.id" : 3 })).
38+ CrossJoin ("table3" , "table2.id = table3.tid" ).Where (Eq {"a" : 1 }).ToSQL ()
39+ assert .NoError (t , err )
40+ assert .EqualValues (t , "SELECT c, d FROM table1 LEFT JOIN table2 ON table1.id=? AND table2.id<? CROSS JOIN table3 ON table2.id = table3.tid WHERE a=?" ,
41+ sql )
42+ assert .EqualValues (t , []interface {}{1 , 3 , 1 }, args )
43+
44+ sql , args , err = Select ("c, d" ).From ("table1" ).LeftJoin ("table2" , Eq {"table1.id" : 1 }.And (Lt {"table2.id" : 3 })).
45+ InnerJoin ("table3" , "table2.id = table3.tid" ).Where (Eq {"a" : 1 }).ToSQL ()
46+ assert .NoError (t , err )
47+ assert .EqualValues (t , "SELECT c, d FROM table1 LEFT JOIN table2 ON table1.id=? AND table2.id<? INNER JOIN table3 ON table2.id = table3.tid WHERE a=?" ,
48+ sql )
49+ assert .EqualValues (t , []interface {}{1 , 3 , 1 }, args )
2750}
2851
2952func TestBuilderSelectGroupBy (t * testing.T ) {
0 commit comments