"""Test for Vendors logic.""" import json from unittest.mock import MagicMock, patch from carveouts.logic import vendors @patch("carveouts.logic.vendors.service_carveout.dataload_vendor_contract_carveout") def test_dataload_vendor_contract_store_carveouts( mock_dataload_carveout: MagicMock, ) -> None: """Test dataload vendor store carveouts.""" mock_dataload_carveout.return_value = [ {"vendor_contract_id": 2, "dms_id": 4, "distribution_type_list": "1,3"}, {"vendor_contract_id": 3, "dms_id": 6, "distribution_type_list": "1"}, ] dataload_input = [ { "vendor_contract_id": 2, "delivery_store_id": 4, }, { "vendor_contract_id": 2, "delivery_store_id": 5, }, { "vendor_contract_id": 3, "delivery_store_id": 6, }, ] result = vendors.dataload_vendor_contract_store_carveouts(dataload_input) desired_response = [ {"data": {"store_id": 4, "distribution_type_ids": [1, 3]}}, {"data": None}, {"data": {"store_id": 6, "distribution_type_ids": [1]}}, ] assert json.dumps(result, sort_keys=True) == json.dumps( desired_response, sort_keys=True )