common/model/product/model_test.go

75 lines
1.8 KiB
Go
Raw Normal View History

2024-05-14 20:36:33 +08:00
package productv1
import (
"gitea.timerzz.com/kedaya_haitao/common/pkg/database"
"gorm.io/gorm/clause"
"testing"
)
func TestUpsert(t *testing.T) {
db, err := database.InitDatabase(&database.DBOption{
Host: "192.168.31.55",
User: "timerzz",
Password: "zhhg1997",
Port: "5432",
2024-05-15 13:54:53 +08:00
DBName: "kedaya_dev",
2024-05-14 20:36:33 +08:00
})
if err != nil {
t.Fatal(err)
}
err = db.AutoMigrate(&Product{}, &HistoryPrice{})
if err != nil {
t.Fatal(err)
}
db.Clauses(clause.OnConflict{
Columns: []clause.Column{{Name: "pid"}},
2024-05-15 13:54:53 +08:00
DoUpdates: clause.AssignmentColumns([]string{"name", "color", "link", "orderable", "us_price", "cny_price", "cal_mark", "rate"}),
2024-05-14 20:36:33 +08:00
}).Create([]Product{
{
Name: "test",
2024-05-15 13:54:53 +08:00
Pid: "test-3",
2024-05-14 20:36:33 +08:00
Color: "green",
Link: "www.baidu.com",
Image: "image",
Orderable: false,
USPrice: 123,
DWPrice: 3000,
2024-05-15 13:54:53 +08:00
Freight: 130,
2024-05-14 20:36:33 +08:00
},
})
}
2024-05-15 13:54:53 +08:00
func TestUpdate(t *testing.T) {
db, err := database.InitDatabase(&database.DBOption{
Host: "192.168.31.55",
User: "timerzz",
Password: "zhhg1997",
Port: "5432",
DBName: "kedaya_dev",
})
if err != nil {
t.Fatal(err)
}
var p = Product{Pid: "CJ575-QBO4G", DWPrice: 3000, Freight: 150, Remark: "test", USPrice: 209.3, ExchangeRate: 7.3}
err = db.Model(&p).Where("pid = ?", p.Pid).Select("dw_price", "freight", "remark", "rate", "cal_mark", "cny_price").Updates(&p).Error
if err != nil {
t.Fatal(err)
}
}
2024-05-16 12:52:06 +08:00
func TestGetConfig(t *testing.T) {
db, err := database.InitDatabase(&database.DBOption{
Host: "192.168.31.55",
User: "timerzz",
Password: "zhhg1997",
Port: "5432",
DBName: "kedaya_dev",
})
if err != nil {
t.Fatal(err)
}
var exchangeRate float64
db.Table("options").Select("exchange_rate").Where("id = ?", 1).Scan(&exchangeRate)
t.Log(exchangeRate)
}