package product import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" "sghgogs.com/micro/shopping-service/domain/repository" "sghgogs.com/micro/shopping-service/domain/service" pb "sghgogs.com/micro/shopping-service/proto" "testing" ) func TestProduct(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) // repository.NewRepository(db) newService := service.NewService(repo, "shoppingservice") t.Run("创建", func(t *testing.T) { products := []*pb.Product{ { Name: "iphone 16", Description: "苹果手机", Price: 8000, StockQuantity: 10000, CategoryId: 4, }, } err2 := newService.CreateMultipleProducts(&pb.CreateProductRequest{ Items: products, }) fmt.Println(err2) }) t.Run("查询列表", func(t *testing.T) { list, i, err2 := newService.GetProductList(&pb.GetProductListRequest{ Page: 1, PageSize: 10, }) fmt.Println(list, i, err2) }) t.Run("查询详情", func(t *testing.T) { product, err2 := newService.GetProduct(&pb.GetProductRequest{ProductId: 1}) fmt.Println(product, err2) // user, err2 := newService.(&pb.GetUserRequest{UserId: 1}) // fmt.Println(user, err2) }) }