49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
package entgo
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"entgo.io/ent/dialect"
|
|
"entgo.io/ent/dialect/sql"
|
|
)
|
|
|
|
func TestBuildFieldSelect(t *testing.T) {
|
|
t.Run("MySQL_2Fields", func(t *testing.T) {
|
|
s := sql.Dialect(dialect.MySQL).Select("*").From(sql.Table("users"))
|
|
|
|
BuildFieldSelect(s, []string{"id", "username"})
|
|
query, args := s.Query()
|
|
require.Equal(t, "SELECT `id`, `username` FROM `users`", query)
|
|
require.Empty(t, args)
|
|
|
|
})
|
|
t.Run("PostgreSQL_2Fields", func(t *testing.T) {
|
|
s := sql.Dialect(dialect.Postgres).Select("*").From(sql.Table("users"))
|
|
|
|
BuildFieldSelect(s, []string{"id", "username"})
|
|
query, args := s.Query()
|
|
require.Equal(t, `SELECT "id", "username" FROM "users"`, query)
|
|
require.Empty(t, args)
|
|
})
|
|
|
|
t.Run("MySQL_AllFields", func(t *testing.T) {
|
|
s := sql.Dialect(dialect.MySQL).Select("*").From(sql.Table("users"))
|
|
|
|
BuildFieldSelect(s, []string{})
|
|
query, args := s.Query()
|
|
require.Equal(t, "SELECT * FROM `users`", query)
|
|
require.Empty(t, args)
|
|
|
|
})
|
|
t.Run("PostgreSQL_AllFields", func(t *testing.T) {
|
|
s := sql.Dialect(dialect.Postgres).Select("*").From(sql.Table("users"))
|
|
|
|
BuildFieldSelect(s, []string{})
|
|
query, args := s.Query()
|
|
require.Equal(t, `SELECT * FROM "users"`, query)
|
|
require.Empty(t, args)
|
|
})
|
|
}
|