Fix UPC token-only variant selection

This commit is contained in:
2026-10-06 10:36:02 +05:30
parent f0496b3d67
commit 4218f8572d
2 changed files with 39 additions and 1 deletions
+4 -1
View File
@@ -46,7 +46,10 @@ def get_setup_configs(mode, config=None):
variants = product.get("session_variants") variants = product.get("session_variants")
if variants is not None: if variants is not None:
resolved = get_product_config(name, config) resolved = get_product_config(name, config)
if not resolved["setup"].get("run_session", True): # Expand variants when either session or token execution is
# enabled. Token-only UPC runs must still reach their variants.
setup = resolved.get("setup", {})
if not setup.get("run_session", True) and not setup.get("run_token", True):
continue continue
variant_config = deepcopy(config) variant_config = deepcopy(config)
variant_config["products"] = {} variant_config["products"] = {}
+35
View File
@@ -78,3 +78,38 @@ def test_upc_session_selection_and_shared_timing(selected):
assert config == original assert config == original
config["products"]["UPC"]["enabled"] = False config["products"]["UPC"]["enabled"] = False
assert get_setup_configs("session", config) == [] assert get_setup_configs("session", config) == []
def test_upc_token_only_expands_all_enabled_variants():
config = {
"setup": {"run_session": True, "run_token": True},
"products": {
"UPC": {
"enabled": True,
"run_session": False,
"run_token": True,
"token": {
"market_code": "NATIONAL",
"product_type": "UPC",
"product_codes": [],
},
"session_variants": {
name: {
"enabled": True,
"run_session": False,
"run_token": True,
"token": {"create_product_codes": [f"{name}_TOKEN"]},
}
for name in ("DAILY", "WEEKLY", "MONTHLY")
},
}
},
}
configs = get_setup_configs("token", config)
assert [item["product_name"] for item in configs] == [
"UPC_DAILY",
"UPC_WEEKLY",
"UPC_MONTHLY",
]