github.com/duskeagle/pop@v4.10.1-0.20190417200916-92f2b794aab5+incompatible/belongs_to_test.go (about) 1 package pop 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func Test_BelongsTo(t *testing.T) { 10 r := require.New(t) 11 12 q := PDB.BelongsTo(&User{ID: 1}) 13 14 m := &Model{Value: &Enemy{}} 15 16 sql, _ := q.ToSQL(m) 17 r.Equal(ts("SELECT enemies.A FROM enemies AS enemies WHERE user_id = ?"), sql) 18 } 19 20 func Test_BelongsToAs(t *testing.T) { 21 r := require.New(t) 22 23 q := PDB.BelongsToAs(&User{ID: 1}, "u_id") 24 25 m := &Model{Value: &Enemy{}} 26 27 sql, _ := q.ToSQL(m) 28 r.Equal(ts("SELECT enemies.A FROM enemies AS enemies WHERE u_id = ?"), sql) 29 } 30 31 func Test_BelongsToThrough(t *testing.T) { 32 r := require.New(t) 33 34 q := PDB.BelongsToThrough(&User{ID: 1}, &Friend{}) 35 qs := "SELECT enemies.A FROM enemies AS enemies, good_friends AS good_friends WHERE good_friends.user_id = ? AND enemies.id = good_friends.enemy_id" 36 37 m := &Model{Value: &Enemy{}} 38 sql, _ := q.ToSQL(m) 39 r.Equal(ts(qs), sql) 40 }