Extend shared schema for retailer-native ids
This commit is contained in:
@@ -9,6 +9,7 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
{
|
||||
"observed_product_id": "gobs_1",
|
||||
"representative_upc": "111",
|
||||
"representative_retailer_item_id": "11",
|
||||
"representative_name_norm": "GALA APPLE",
|
||||
"representative_brand": "SB",
|
||||
"representative_variant": "",
|
||||
@@ -17,10 +18,13 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
"representative_pack_qty": "",
|
||||
"representative_measure_type": "weight",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
},
|
||||
{
|
||||
"observed_product_id": "gobs_2",
|
||||
"representative_upc": "111",
|
||||
"representative_retailer_item_id": "12",
|
||||
"representative_name_norm": "LARGE WHITE EGGS",
|
||||
"representative_brand": "SB",
|
||||
"representative_variant": "",
|
||||
@@ -29,10 +33,13 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
"representative_pack_qty": "18",
|
||||
"representative_measure_type": "count",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
},
|
||||
{
|
||||
"observed_product_id": "gobs_3",
|
||||
"representative_upc": "",
|
||||
"representative_retailer_item_id": "21",
|
||||
"representative_name_norm": "ROTINI",
|
||||
"representative_brand": "",
|
||||
"representative_variant": "",
|
||||
@@ -41,10 +48,13 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
"representative_pack_qty": "",
|
||||
"representative_measure_type": "weight",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
},
|
||||
{
|
||||
"observed_product_id": "gobs_4",
|
||||
"representative_upc": "",
|
||||
"representative_retailer_item_id": "22",
|
||||
"representative_name_norm": "ROTINI",
|
||||
"representative_brand": "SB",
|
||||
"representative_variant": "",
|
||||
@@ -53,10 +63,13 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
"representative_pack_qty": "",
|
||||
"representative_measure_type": "weight",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
},
|
||||
{
|
||||
"observed_product_id": "gobs_5",
|
||||
"representative_upc": "",
|
||||
"representative_retailer_item_id": "99",
|
||||
"representative_name_norm": "GL BAG CHARGE",
|
||||
"representative_brand": "",
|
||||
"representative_variant": "",
|
||||
@@ -65,6 +78,8 @@ class CanonicalLayerTests(unittest.TestCase):
|
||||
"representative_pack_qty": "",
|
||||
"representative_measure_type": "each",
|
||||
"is_fee": "true",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
},
|
||||
]
|
||||
|
||||
|
||||
@@ -177,6 +177,7 @@ class EnrichGiantTests(unittest.TestCase):
|
||||
self.assertEqual("PEPSI", rows[0]["item_name_norm"])
|
||||
self.assertEqual("6", rows[0]["pack_qty"])
|
||||
self.assertEqual("7.5", rows[0]["size_value"])
|
||||
self.assertEqual("10", rows[0]["retailer_item_id"])
|
||||
self.assertEqual("true", rows[1]["is_store_brand"])
|
||||
|
||||
with output_csv.open(newline="", encoding="utf-8") as handle:
|
||||
|
||||
@@ -13,6 +13,7 @@ class ObservedProductTests(unittest.TestCase):
|
||||
"order_date": "2026-01-01",
|
||||
"item_name": "SB GALA APPLE 5LB",
|
||||
"item_name_norm": "GALA APPLE",
|
||||
"retailer_item_id": "11",
|
||||
"upc": "111",
|
||||
"brand_guess": "SB",
|
||||
"variant": "",
|
||||
@@ -23,6 +24,8 @@ class ObservedProductTests(unittest.TestCase):
|
||||
"image_url": "https://example.test/a.jpg",
|
||||
"is_store_brand": "true",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
"line_total": "7.99",
|
||||
},
|
||||
{
|
||||
@@ -32,6 +35,7 @@ class ObservedProductTests(unittest.TestCase):
|
||||
"order_date": "2026-01-10",
|
||||
"item_name": "SB GALA APPLE 5 LB",
|
||||
"item_name_norm": "GALA APPLE",
|
||||
"retailer_item_id": "11",
|
||||
"upc": "111",
|
||||
"brand_guess": "SB",
|
||||
"variant": "",
|
||||
@@ -42,6 +46,8 @@ class ObservedProductTests(unittest.TestCase):
|
||||
"image_url": "",
|
||||
"is_store_brand": "true",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
"line_total": "8.49",
|
||||
},
|
||||
]
|
||||
@@ -52,6 +58,7 @@ class ObservedProductTests(unittest.TestCase):
|
||||
self.assertEqual("2", observed[0]["times_seen"])
|
||||
self.assertEqual("2026-01-01", observed[0]["first_seen_date"])
|
||||
self.assertEqual("2026-01-10", observed[0]["last_seen_date"])
|
||||
self.assertEqual("11", observed[0]["representative_retailer_item_id"])
|
||||
self.assertEqual("111", observed[0]["representative_upc"])
|
||||
self.assertIn("SB GALA APPLE 5LB", observed[0]["raw_name_examples"])
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"distinct_item_names_count": "2",
|
||||
"distinct_upcs_count": "1",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
}
|
||||
]
|
||||
item_rows = [
|
||||
@@ -64,6 +66,7 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"observed_product_id": "gobs_1",
|
||||
"retailer": "giant",
|
||||
"observed_key": "giant|upc=111|name=GALA APPLE",
|
||||
"representative_retailer_item_id": "11",
|
||||
"representative_upc": "111",
|
||||
"representative_item_name": "SB GALA APPLE 5LB",
|
||||
"representative_name_norm": "GALA APPLE",
|
||||
@@ -76,6 +79,8 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"representative_image_url": "",
|
||||
"is_store_brand": "true",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
"first_seen_date": "2026-01-01",
|
||||
"last_seen_date": "2026-01-10",
|
||||
"times_seen": "2",
|
||||
@@ -85,6 +90,7 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"normalized_name_examples": "GALA APPLE",
|
||||
"example_prices": "7.99 | 8.49",
|
||||
"distinct_item_names_count": "2",
|
||||
"distinct_retailer_item_ids_count": "1",
|
||||
"distinct_upcs_count": "1",
|
||||
}
|
||||
]
|
||||
@@ -95,6 +101,7 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"line_no": "1",
|
||||
"item_name": "SB GALA APPLE 5LB",
|
||||
"item_name_norm": "GALA APPLE",
|
||||
"retailer_item_id": "11",
|
||||
"upc": "111",
|
||||
"size_value": "5",
|
||||
"size_unit": "lb",
|
||||
@@ -102,6 +109,8 @@ class ReviewQueueTests(unittest.TestCase):
|
||||
"measure_type": "weight",
|
||||
"is_store_brand": "true",
|
||||
"is_fee": "false",
|
||||
"is_discount_line": "false",
|
||||
"is_coupon_line": "false",
|
||||
"line_total": "7.99",
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user