github.com/friesencr/pop/v6@v6.1.6/scopes_test.go (about) 1 package pop 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func Test_Scopes(t *testing.T) { 11 if PDB == nil { 12 t.Skip("skipping integration tests") 13 } 14 r := require.New(t) 15 oql := "SELECT enemies.A FROM enemies AS enemies" 16 17 m := NewModel(new(Enemy), context.Background()) 18 19 q := PDB.Q() 20 s, _ := q.ToSQL(m) 21 r.Equal(oql, s) 22 23 q.Scope(func(qy *Query) *Query { 24 return qy.Where("id = ?", 1) 25 }) 26 27 s, _ = q.ToSQL(m) 28 r.Equal(ts(oql+" WHERE id = ?"), s) 29 }