naming_test.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package gorm_test
  2. import (
  3. "testing"
  4. "github.com/jinzhu/gorm"
  5. )
  6. func TestTheNamingStrategy(t *testing.T) {
  7. cases := []struct {
  8. name string
  9. namer gorm.Namer
  10. expected string
  11. }{
  12. {name: "auth", expected: "auth", namer: gorm.TheNamingStrategy.DB},
  13. {name: "userRestrictions", expected: "user_restrictions", namer: gorm.TheNamingStrategy.Table},
  14. {name: "clientID", expected: "client_id", namer: gorm.TheNamingStrategy.Column},
  15. }
  16. for _, c := range cases {
  17. t.Run(c.name, func(t *testing.T) {
  18. result := c.namer(c.name)
  19. if result != c.expected {
  20. t.Errorf("error in naming strategy. expected: %v got :%v\n", c.expected, result)
  21. }
  22. })
  23. }
  24. }
  25. func TestNamingStrategy(t *testing.T) {
  26. dbNameNS := func(name string) string {
  27. return "db_" + name
  28. }
  29. tableNameNS := func(name string) string {
  30. return "tbl_" + name
  31. }
  32. columnNameNS := func(name string) string {
  33. return "col_" + name
  34. }
  35. ns := &gorm.NamingStrategy{
  36. DB: dbNameNS,
  37. Table: tableNameNS,
  38. Column: columnNameNS,
  39. }
  40. cases := []struct {
  41. name string
  42. namer gorm.Namer
  43. expected string
  44. }{
  45. {name: "auth", expected: "db_auth", namer: ns.DB},
  46. {name: "user", expected: "tbl_user", namer: ns.Table},
  47. {name: "password", expected: "col_password", namer: ns.Column},
  48. }
  49. for _, c := range cases {
  50. t.Run(c.name, func(t *testing.T) {
  51. result := c.namer(c.name)
  52. if result != c.expected {
  53. t.Errorf("error in naming strategy. expected: %v got :%v\n", c.expected, result)
  54. }
  55. })
  56. }
  57. }