returning_test.go 855 B

123456789101112131415161718192021222324252627282930313233343536
  1. package clause_test
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/jinzhu/gorm/clause"
  6. )
  7. func TestReturning(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{}, clause.Returning{
  15. []clause.Column{clause.PrimaryColumn},
  16. }},
  17. "SELECT * FROM `users` RETURNING `users`.`id`", nil,
  18. }, {
  19. []clause.Interface{clause.Select{}, clause.From{}, clause.Returning{
  20. []clause.Column{clause.PrimaryColumn},
  21. }, clause.Returning{
  22. []clause.Column{{Name: "name"}, {Name: "age"}},
  23. }},
  24. "SELECT * FROM `users` RETURNING `users`.`id`,`name`,`age`", nil,
  25. },
  26. }
  27. for idx, result := range results {
  28. t.Run(fmt.Sprintf("case #%v", idx), func(t *testing.T) {
  29. checkBuildClauses(t, result.Clauses, result.Result, result.Vars)
  30. })
  31. }
  32. }