set_test.go 847 B

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