github.com/tsmith1024/pop@v4.12.2+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 if PDB == nil { 11 t.Skip("skipping integration tests") 12 } 13 r := require.New(t) 14 15 q := PDB.BelongsTo(&User{ID: 1}) 16 17 m := &Model{Value: &Enemy{}} 18 19 sql, _ := q.ToSQL(m) 20 r.Equal(ts("SELECT enemies.A FROM enemies AS enemies WHERE user_id = ?"), sql) 21 } 22 23 func Test_BelongsToAs(t *testing.T) { 24 if PDB == nil { 25 t.Skip("skipping integration tests") 26 } 27 r := require.New(t) 28 29 q := PDB.BelongsToAs(&User{ID: 1}, "u_id") 30 31 m := &Model{Value: &Enemy{}} 32 33 sql, _ := q.ToSQL(m) 34 r.Equal(ts("SELECT enemies.A FROM enemies AS enemies WHERE u_id = ?"), sql) 35 } 36 37 func Test_BelongsToThrough(t *testing.T) { 38 if PDB == nil { 39 t.Skip("skipping integration tests") 40 } 41 r := require.New(t) 42 43 q := PDB.BelongsToThrough(&User{ID: 1}, &Friend{}) 44 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" 45 46 m := &Model{Value: &Enemy{}} 47 sql, _ := q.ToSQL(m) 48 r.Equal(ts(qs), sql) 49 }