Skip to content

Commit

Permalink
Add custom function call test.
Browse files Browse the repository at this point in the history
  • Loading branch information
go-jet committed Jan 20, 2022
1 parent 911cab3 commit 4f29960
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 2 deletions.
2 changes: 1 addition & 1 deletion tests/mysql/delete_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,5 @@ USING dvds.rental
WHERE (staff.staff_id != ?) AND (rental.rental_id < ?);
`)

testutils.AssertExec(t, stmt, tx, 42)
testutils.AssertExec(t, stmt, tx)
}
38 changes: 38 additions & 0 deletions tests/postgres/select_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2541,3 +2541,41 @@ FROM dvds.staff;
err := stmt.Query(db, &struct{}{})
require.NoError(t, err)
}

func GET_FILM_COUNT(lenFrom, lenTo IntegerExpression) IntegerExpression {
return IntExp(Func("dvds.get_film_count", lenFrom, lenTo))
}

func TestCustomFunctionCall(t *testing.T) {
stmt := SELECT(
GET_FILM_COUNT(Int(100), Int(120)).AS("film_count"),
)

testutils.AssertDebugStatementSql(t, stmt, `
SELECT dvds.get_film_count(100, 120) AS "film_count";
`)

var dest struct {
FilmCount int
}

err := stmt.Query(db, &dest)
require.NoError(t, err)
require.Equal(t, dest.FilmCount, 165)

stmt2 := SELECT(
Raw("dvds.get_film_count(#1, #2)", RawArgs{"#1": 100, "#2": 120}).AS("film_count"),
)

err = stmt2.Query(db, &dest)
require.NoError(t, err)
require.Equal(t, dest.FilmCount, 165)

stmt3 := RawStatement(`
SELECT dvds.get_film_count(#1, #2) AS "film_count";`, RawArgs{"#1": 100, "#2": 120},
)

err = stmt3.Query(db, &dest)
require.NoError(t, err)
require.Equal(t, dest.FilmCount, 165)
}
2 changes: 1 addition & 1 deletion tests/testdata

0 comments on commit 4f29960

Please sign in to comment.