fix
This commit is contained in:
@@ -72,11 +72,8 @@ func TestMapV1JobItemStatus(t *testing.T) {
|
||||
|
||||
func TestProjectV1ProcessJobItemsPartial(t *testing.T) {
|
||||
items := []V1ProcessJobItem{{
|
||||
"ean": "123", "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
||||
"processed_product_id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
||||
"raw_product_id": "cccccccc-cccc-cccc-cccc-cccccccccccc",
|
||||
"status": "processed",
|
||||
"title": "T", "name": "T", "meta_title": "MT",
|
||||
"ean": "123", "status": "processed",
|
||||
"name": "T", "meta_title": "MT",
|
||||
"description": "D", "attributes": map[string]any{"brand": "X"},
|
||||
"main_image": "https://example.com/a.jpg", "more_images": []string{"https://example.com/b.jpg"},
|
||||
"eprel": nil, "category": "cat", "category_name": "Cat",
|
||||
@@ -88,11 +85,11 @@ func TestProjectV1ProcessJobItemsPartial(t *testing.T) {
|
||||
raw, _ := json.Marshal(out[0])
|
||||
var got map[string]any
|
||||
_ = json.Unmarshal(raw, &got)
|
||||
if got["title"] != "T" || got["ean"] != "123" {
|
||||
if got["name"] != "T" || got["ean"] != "123" {
|
||||
t.Fatalf("got=%v", got)
|
||||
}
|
||||
if got["name"] != "T" {
|
||||
t.Fatalf("name dual-mode alias missing or mismatched: %v", got)
|
||||
if _, ok := got["title"]; ok {
|
||||
t.Fatalf("duplicate title should be omitted when name exists: %v", got)
|
||||
}
|
||||
if _, ok := got["attributes"]; ok {
|
||||
t.Fatalf("attributes should be projected out: %v", got)
|
||||
@@ -100,31 +97,29 @@ func TestProjectV1ProcessJobItemsPartial(t *testing.T) {
|
||||
if got["main_image"] != "https://example.com/a.jpg" {
|
||||
t.Fatalf("images always included: %v", got)
|
||||
}
|
||||
if got["status"] != "processed" || got["id"] != "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" {
|
||||
t.Fatalf("meta should be preserved: %v", got)
|
||||
if got["status"] != "processed" {
|
||||
t.Fatalf("status should be preserved: %v", got)
|
||||
}
|
||||
if got["processed_product_id"] != "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb" {
|
||||
t.Fatalf("processed_product_id should be preserved: %v", got)
|
||||
}
|
||||
if got["raw_product_id"] != "cccccccc-cccc-cccc-cccc-cccccccccccc" {
|
||||
t.Fatalf("raw_product_id should be preserved: %v", got)
|
||||
for _, junk := range []string{"id", "processed_product_id", "raw_product_id"} {
|
||||
if _, ok := got[junk]; ok {
|
||||
t.Fatalf("%s must be omitted from V1 process items: %v", junk, got)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestProjectV1ProcessJobItemsTitleDerivesName(t *testing.T) {
|
||||
items := []V1ProcessJobItem{{
|
||||
"ean": "123", "id": "bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb",
|
||||
"status": "processed", "title": "OnlyTitle", "meta_title": "MT",
|
||||
"ean": "123", "status": "processed", "title": "OnlyTitle", "meta_title": "MT",
|
||||
}}
|
||||
out := ProjectV1ProcessJobItems("title", items)
|
||||
if len(out) != 1 {
|
||||
t.Fatalf("len=%d", len(out))
|
||||
}
|
||||
if out[0]["title"] != "OnlyTitle" {
|
||||
t.Fatalf("title=%v", out[0]["title"])
|
||||
}
|
||||
if out[0]["name"] != "OnlyTitle" {
|
||||
t.Fatalf("name should mirror title when absent: %v", out[0]["name"])
|
||||
t.Fatalf("name should derive from title when absent: %v", out[0]["name"])
|
||||
}
|
||||
if _, ok := out[0]["title"]; ok {
|
||||
t.Fatalf("title omitted when identical to name: %v", out[0])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -180,22 +175,18 @@ func TestApplyV1ProcessItemIDsDualMode(t *testing.T) {
|
||||
raw := mustParseTestUUID(t, "cccccccc-cccc-cccc-cccc-cccccccccccc")
|
||||
item := V1ProcessJobItem{"ean": "1", "status": "processed"}
|
||||
applyV1ProcessItemIDs(item, &processed, &raw)
|
||||
if item["id"] != processed.String() {
|
||||
t.Fatalf("id=%v", item["id"])
|
||||
}
|
||||
if item["processed_product_id"] != processed.String() {
|
||||
t.Fatalf("processed_product_id=%v", item["processed_product_id"])
|
||||
}
|
||||
if item["raw_product_id"] != raw.String() {
|
||||
t.Fatalf("raw_product_id=%v", item["raw_product_id"])
|
||||
for _, junk := range []string{"id", "processed_product_id", "raw_product_id"} {
|
||||
if _, ok := item[junk]; ok {
|
||||
t.Fatalf("%s must stay omitted from V1 process items: %v", junk, item)
|
||||
}
|
||||
}
|
||||
missing := V1ProcessJobItem{"ean": "2", "status": "not_found"}
|
||||
applyV1ProcessItemIDs(missing, nil, &raw)
|
||||
if _, ok := missing["id"]; ok {
|
||||
t.Fatalf("id must stay absent without processed row: %v", missing)
|
||||
t.Fatalf("id must stay absent: %v", missing)
|
||||
}
|
||||
if missing["raw_product_id"] != raw.String() {
|
||||
t.Fatalf("raw_product_id on not_found: %v", missing)
|
||||
if _, ok := missing["raw_product_id"]; ok {
|
||||
t.Fatalf("raw_product_id must stay omitted: %v", missing)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user