"""Pack contract required by the Month End ARR outbound pipeline.""" import json import unittest from pathlib import Path ROOT = Path(__file__).resolve().parents[1] PACK_ROOTS = [ ROOT / "packs" / "Salesforce-PingCAP-L2", ROOT / "packs" / "NOT-EDIT-final-merged-packs", ] def object_spec(pack_root: Path) -> dict: combined = pack_root / "objects" / "standard_objects_spec.json" if combined.exists(): payload = json.loads(combined.read_text(encoding="utf-8")) objects = payload.get("objects") if isinstance(payload, dict) else payload return next(obj for obj in objects if obj.get("apiName") == "Month_End_ARR__c") payload = json.loads( (pack_root / "objects" / "Month_End_ARR__c.json").read_text( encoding="utf-8" ) ) return payload[0] if isinstance(payload, list) else payload class MonthEndArrOutboundContractTest(unittest.TestCase): def test_both_pack_layers_expose_the_outbound_contract(self): for pack_root in PACK_ROOTS: with self.subTest(pack=pack_root.name): fields = { field["apiName"]: field for field in object_spec(pack_root).get("fields", []) } self.assertEqual( fields["Outbound_Key__c"], { "apiName": "Outbound_Key__c", "label": "Outbound Key", "type": "string", "unique": True, }, ) self.assertEqual( fields["Product_Type__c"], { "apiName": "Product_Type__c", "label": "Product Type", "type": "string", }, ) self.assertIn( {"value": "CEG", "label": "CEG"}, fields["Order_Region__c"]["options"], ) if __name__ == "__main__": unittest.main()