feat(v2): 一次性收款管线 CreateOrder/GetOrder/Retry/Cancel + DBProductResolver
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package gateway_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/glebarez/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/logger"
|
||||
|
||||
"github.com/wangjia/pay/internal/gateway"
|
||||
"github.com/wangjia/pay/internal/model"
|
||||
)
|
||||
|
||||
func TestDBProductResolver(t *testing.T) {
|
||||
db, err := gorm.Open(sqlite.Open("file:prodtest?mode=memory&cache=shared"),
|
||||
&gorm.Config{Logger: logger.Default.LogMode(logger.Silent), TranslateError: true})
|
||||
if err != nil {
|
||||
t.Fatalf("open: %v", err)
|
||||
}
|
||||
if err := db.AutoMigrate(&model.Product{}); err != nil {
|
||||
t.Fatalf("migrate: %v", err)
|
||||
}
|
||||
db.Create(&model.Product{Name: "标准年付", Price: "299.00", BizCode: "annual_standard", Active: true})
|
||||
|
||||
r := gateway.NewDBProductResolver(db, "CNY")
|
||||
minor, cur, subject, bizCode, err := r.Resolve("annual_standard")
|
||||
if err != nil || minor != 29900 || cur != "CNY" || subject != "标准年付" || bizCode != "annual_standard" {
|
||||
t.Fatalf("resolve = %d %s %s %s %v", minor, cur, subject, bizCode, err)
|
||||
}
|
||||
if _, _, _, _, err := r.Resolve("ghost"); err != gateway.ErrProductNotFound {
|
||||
t.Fatalf("缺套餐应 ErrProductNotFound, got %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user