db_test.go 801 B

1234567891011121314151617181920212223242526272829303132333435
  1. package db
  2. import (
  3. "testing"
  4. "zhiyuan/pkg/config"
  5. "zhiyuan/pkg/logger"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func init() {
  9. config.Setup(config.WithFile("../config/config.yml"), config.WithEnv("../.env"))
  10. logger.Setup(logger.WithMode("go_test"))
  11. Setup()
  12. }
  13. func TestGetMulti(t *testing.T) {
  14. type Admin struct {
  15. ID string `json:"id"`
  16. Username string `json:"username"`
  17. }
  18. // single struct
  19. var admin Admin
  20. err := GetMulti("zy_admin", map[string]interface{}{"id": 1}, nil, &admin)
  21. ass := assert.New(t)
  22. ass.NoError(err)
  23. ass.Equal(admin, Admin{"1", "admin"})
  24. // slice
  25. var adminList []Admin
  26. err = GetMulti("zy_admin", map[string]interface{}{"id >": 1, "_limit": []uint{0, 2}}, nil, &adminList)
  27. ass.NoError(err)
  28. ass.Equal(adminList, []Admin{{"2", "test"}, {"4", "test"}})
  29. }