github.com/dkishere/pop@v4.13.1+incompatible/scopes_test.go (about)

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