builder_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package builder
  2. import (
  3. "testing"
  4. "github.com/stretchr/testify/assert"
  5. )
  6. type mockedUser struct {
  7. ID string `db:"id" json:"id,omitempty"`
  8. UserName string `db:"user_name" json:"userName,omitempty"`
  9. Sex int `db:"sex" json:"sex,omitempty"`
  10. UUID string `db:"uuid" uuid:"uuid,omitempty"`
  11. Age int `db:"age" json:"age"`
  12. }
  13. func TestFieldNames(t *testing.T) {
  14. t.Run("new", func(t *testing.T) {
  15. var u mockedUser
  16. out := RawFieldNames(&u)
  17. expected := []string{"`id`", "`user_name`", "`sex`", "`uuid`", "`age`"}
  18. assert.Equal(t, expected, out)
  19. })
  20. }
  21. type mockedUserWithOptions struct {
  22. ID string `db:"id" json:"id,omitempty"`
  23. UserName string `db:"user_name,type=varchar,length=255" json:"userName,omitempty"`
  24. Sex int `db:"sex" json:"sex,omitempty"`
  25. UUID string `db:",type=varchar,length=16" uuid:"uuid,omitempty"`
  26. Age int `db:"age" json:"age"`
  27. }
  28. func TestFieldNamesWithTagOptions(t *testing.T) {
  29. t.Run("new", func(t *testing.T) {
  30. var u mockedUserWithOptions
  31. out := RawFieldNames(&u)
  32. expected := []string{"`id`", "`user_name`", "`sex`", "`UUID`", "`age`"}
  33. assert.Equal(t, expected, out)
  34. })
  35. }