feat: 回填店铺关联PDD空规格 (#194)
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"database/sql"
|
||||
_ "modernc.org/sqlite"
|
||||
)
|
||||
|
||||
func TestReplaceEmptyPDDSpecsUsesExpectedRawAsLock(t *testing.T) {
|
||||
db, err := sql.Open("sqlite", ":memory:")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer db.Close()
|
||||
if _, err := db.Exec(`CREATE TABLE pdd_products(goods_id TEXT PRIMARY KEY, skus_json TEXT, deleted_at TEXT, updated_at TEXT)`); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := db.Exec(`INSERT INTO pdd_products(goods_id,skus_json) VALUES('P1','')`); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
ok, err := ReplaceEmptyPDDSpecs(db, "P1", "", `{"skus":[]}`, "2026-08-12T00:00:00Z")
|
||||
if err != nil || !ok {
|
||||
t.Fatalf("首次更新应成功: ok=%v err=%v", ok, err)
|
||||
}
|
||||
ok, err = ReplaceEmptyPDDSpecs(db, "P1", "", `{"skus":[1]}`, "2026-08-12T00:00:01Z")
|
||||
if err != nil || ok {
|
||||
t.Fatalf("原值已变化时必须跳过: ok=%v err=%v", ok, err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user