select_test.go 877 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package clause_test
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/jinzhu/gorm/clause"
  6. )
  7. func TestSelect(t *testing.T) {
  8. results := []struct {
  9. Clauses []clause.Interface
  10. Result string
  11. Vars []interface{}
  12. }{
  13. {
  14. []clause.Interface{clause.Select{}, clause.From{}},
  15. "SELECT * FROM `users`", nil,
  16. },
  17. {
  18. []clause.Interface{clause.Select{
  19. Columns: []clause.Column{clause.PrimaryColumn},
  20. }, clause.From{}},
  21. "SELECT `users`.`id` FROM `users`", nil,
  22. },
  23. {
  24. []clause.Interface{clause.Select{
  25. Columns: []clause.Column{clause.PrimaryColumn},
  26. }, clause.Select{
  27. Columns: []clause.Column{{Name: "name"}},
  28. }, clause.From{}},
  29. "SELECT `name` FROM `users`", nil,
  30. },
  31. }
  32. for idx, result := range results {
  33. t.Run(fmt.Sprintf("case #%v", idx), func(t *testing.T) {
  34. checkBuildClauses(t, result.Clauses, result.Result, result.Vars)
  35. })
  36. }
  37. }