From ae0cdf0445ce35d5790023eae616c43567feea7c Mon Sep 17 00:00:00 2001 From: Ariel Mashraki <7413593+a8m@users.noreply.github.com> Date: Sun, 7 Feb 2021 19:08:22 +0200 Subject: [PATCH] dialect/sql: minor test changes (#1247) --- dialect/sql/builder_test.go | 58 +++++++++++++++---------------------- 1 file changed, 23 insertions(+), 35 deletions(-) diff --git a/dialect/sql/builder_test.go b/dialect/sql/builder_test.go index 7d8f15e36..a4e8853e7 100644 --- a/dialect/sql/builder_test.go +++ b/dialect/sql/builder_test.go @@ -1373,22 +1373,29 @@ WHERE wantArgs: []interface{}{"pedro"}, }, { - input: func() Querier { - t1 := Table("users") - sel := Select("*"). - From(t1). - Where(P(func(b *Builder) { - b.Join(Expr("name = $1", "pedro")) - })). - Where(P(func(b *Builder) { - b.Join(Expr("name = $2", "pedro")) - })). - Where(EQ("name", "pedro")) - sel.SetDialect(dialect.Postgres) - return sel - }(), - wantQuery: `SELECT * FROM "users" WHERE (name = $1 AND name = $2) AND "name" = $3`, - wantArgs: []interface{}{"pedro", "pedro", "pedro"}, + input: Dialect(dialect.Postgres). + Select("*"). + From(Table("users")). + Where(P(func(b *Builder) { + b.Join(Expr("name = $1", "pedro")) + })). + Where(P(func(b *Builder) { + b.Join(Expr("name = $2", "pedro")) + })). + Where(EQ("name", "pedro")). + Where( + And( + In( + "id", + Select("owner_id"). + From(Table("pets")). + Where(EQ("name", "luna")), + ), + EQ("active", true), + ), + ), + wantQuery: `SELECT * FROM "users" WHERE ((name = $1 AND name = $2) AND "name" = $3) AND ("id" IN (SELECT "owner_id" FROM "pets" WHERE "name" = $4) AND "active" = $5)`, + wantArgs: []interface{}{"pedro", "pedro", "pedro", "luna", true}, }, } for i, tt := range tests { @@ -1400,25 +1407,6 @@ WHERE } } -func TestAnd(t *testing.T) { - assert := require.New(t) - - p1 := P(func(b *Builder) { - b.Join(Expr("name = $1", "pedro")) - }) - p2 := P(func(b *Builder) { - b.Join(Expr("name = $2", "pedro")) - }) - - and := And(p1, p2) - - _, _ = and.Query() - - assert.Equal(1, p1.Total()) - assert.Equal(2, p2.Total()) - assert.Equal(2, and.Total()) -} - func TestBuilder_Err(t *testing.T) { b := Select("i-") require.NoError(t, b.Err())