github.com/Accefy/pop@v0.0.0-20230428174248-e9f677eab5b9/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  }