added asins to build_product_details

This commit is contained in:
TPV committed 2026-09-10 06:38:44 -07:00
1 parent 0275f94500
commit 9a34ae5ca6
2 files changed
+14 -2

No files matched your search

+3 -2
View File
@@ -211,7 +211,7 @@ def build_product_details(
if not bypass_thresholds and not passes_percentage and not passes_price_drop: if not bypass_thresholds and not passes_percentage and not passes_price_drop:
return return
built = Product( built_product = Product(
product_id=product_id, product_id=product_id,
title=product["title"], title=product["title"],
url=product["url"], url=product["url"],
@@ -227,6 +227,7 @@ def build_product_details(
promo_dollar_off=product.get("promoDollarOff"), promo_dollar_off=product.get("promoDollarOff"),
promo_min_spend=product.get("promoMinSpend"), promo_min_spend=product.get("promoMinSpend"),
new_listing=new_listing, new_listing=new_listing,
asin=product.get("asin"),
), ),
timing=ProductTiming( timing=ProductTiming(
discovered_date=product["discoveredDate"], discovered_date=product["discoveredDate"],
@@ -249,7 +250,7 @@ def build_product_details(
member_deal=product["memberDeal"], member_deal=product["memberDeal"],
), ),
) )
return built return built_product
async def run_monitor_cycle( async def run_monitor_cycle(
+11
View File
@@ -78,6 +78,17 @@ def test_promo_fields_read_through():
assert product.metadata.percentage == 20 assert product.metadata.percentage == 20
def test_asin_reads_through():
"""asin round-trips: convert_product_to_mongo writes it, so the consumer
must read it back for the SellerAmp lookup"""
product = build_product_details(_doc(asin="B0CHX3QBCH"), min_percentage=0)
assert product.metadata.asin == "B0CHX3QBCH"
def test_missing_asin_defaults_to_none():
assert build_product_details(_doc(), min_percentage=0).metadata.asin is None
def test_missing_promo_keys_default_to_none(): def test_missing_promo_keys_default_to_none():
"""a doc from a lagging monitor lacks promo keys -> None, not KeyError""" """a doc from a lagging monitor lacks promo keys -> None, not KeyError"""
product = build_product_details(_doc(), min_percentage=0) product = build_product_details(_doc(), min_percentage=0)