package adminuser import ( "context" "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" "reflect" "sghgogs.com/micro/shopping-service/domain/repository" "sghgogs.com/micro/shopping-service/domain/service" pb "sghgogs.com/micro/shopping-service/proto" "testing" ) func TestAdminUser(t *testing.T) { address := fmt.Sprintf("%v:%v@(%v:%v)/%v?charset=utf8mb4,utf8&parseTime=True&loc=Local", "root", "xugang131500", "47.56.16.206", 3306, "shopping_wenke") db, err := gorm.Open(mysql.Open(address), &gorm.Config{ Logger: logger.Default.LogMode(logger.Info), NamingStrategy: schema.NamingStrategy{ SingularTable: true, }}) if err != nil { t.Fatal(err) } repo := repository.NewRepository(db) t.Run("初始化表", func(t *testing.T) { err = repo.InitTable() fmt.Println(err) }) newService := service.NewService(repo, "shoppingservice") t.Run("创建", func(t *testing.T) { err2 := newService.CreateAdminUser(context.Background(), &pb.CreateAdminUserRequest{ Username: "job_admin", Password: "123456", PhoneNumber: "13988888888", Email: "sghblog@163.com", Avatar: "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif", Roles: []int64{1, 2}, }) fmt.Println(err2) }) t.Run("更新", func(t *testing.T) { newService.UpdateAdminUser(context.Background(), &pb.UpdateAdminUserRequest{ UserId: 7, PhoneNumber: "13988888888", Email: "sghblog@163.com", Avatar: "https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif", }) }) t.Run("更新", func(t *testing.T) { newService.ToggleAdminUser(context.Background(), &pb.ToggleAdminUserRequest{ UserId: 4, Status: pb.StatusEnum_DISABLED, }) }) t.Run("删除", func(t *testing.T) { err2 := newService.DeleteAdminUser(&pb.DeleteAdminUserRequest{UserId: 5}) fmt.Println(err2) // newService.DeleteAdminUser(&pb.DeleteAdminUserRequest{UserId: 2}) }) t.Run("获取列表", func(t *testing.T) { list, i, err2 := newService.GetAdminUserList(&pb.GetAdminUserListRequest{ Page: 1, PageSize: 10, Code: "17a78673-9762-4e9e-8f87-595a049f75bf", }) fmt.Println(list) fmt.Println(i) fmt.Println(err2) }) t.Run("获取所有", func(t *testing.T) { user, err2 := newService.GetAllAdminUser() fmt.Println(user, err2) }) } func filterNilFields(m map[string]interface{}) map[string]interface{} { result := make(map[string]interface{}) for key, value := range m { // 判断是否为布尔值或数值类型的默认零值 if value != reflect.Zero(reflect.TypeOf(value)).Interface() { result[key] = value } } return result }