Files
clientflow_backend/tests/test_external_reconciliation_jasmin_mapping.py

39 lines
1.0 KiB
Python

from app.external_reconciliation_sync import _external_customer_key, _jasmin_amount
def test_jasmin_customer_key_prefers_party_code_over_document_natural_key():
record = {
"naturalKey": "ORC.ORC2026.136",
"buyerCustomerParty": "0569",
"accountingParty": "0569",
}
assert _external_customer_key(record, source_system="jasmin") == "0569"
def test_jasmin_customer_key_does_not_use_document_natural_key():
record = {"naturalKey": "ORC.ORC2026.136", "id": "document-uuid"}
assert _external_customer_key(record, source_system="jasmin") == ""
def test_jasmin_amount_reads_flattened_payable_total():
record = {
"payableAmountAmount": 441.57,
"grossValueAmount": 359.00,
}
assert _jasmin_amount(record) == "441.57"
def test_jasmin_amount_reads_nested_money_object():
record = {
"payableAmount": {
"amount": 441.57,
"baseAmount": 441.57,
"reportingAmount": 441.57,
}
}
assert _jasmin_amount(record) == "441.57"