| 265 | } |
| 266 | |
| 267 | func TestFieldIn(t *testing.T) { |
| 268 | p := FieldIn("name", "a8m", "foo", "bar") |
| 269 | t.Run("MySQL", func(t *testing.T) { |
| 270 | s := Dialect(dialect.MySQL).Select("*").From(Table("users")) |
| 271 | p(s) |
| 272 | query, args := s.Query() |
| 273 | require.Equal(t, "SELECT * FROM `users` WHERE `users`.`name` IN (?, ?, ?)", query) |
| 274 | require.Equal(t, []any{"a8m", "foo", "bar"}, args) |
| 275 | }) |
| 276 | t.Run("PostgreSQL", func(t *testing.T) { |
| 277 | s := Dialect(dialect.Postgres).Select("*").From(Table("users")) |
| 278 | p(s) |
| 279 | query, args := s.Query() |
| 280 | require.Equal(t, `SELECT * FROM "users" WHERE "users"."name" IN ($1, $2, $3)`, query) |
| 281 | require.Equal(t, []any{"a8m", "foo", "bar"}, args) |
| 282 | }) |
| 283 | } |
| 284 | |
| 285 | func TestFieldNotIn(t *testing.T) { |
| 286 | p := FieldNotIn("id", 1, 2, 3) |