Skip to content

Commit 1cd6792

Browse files
committed
fix(transaction): correct optional field assignment and update tests
Replaced incorrect variable name in optional field assignment loop (`optional` → `field_name`) to ensure only valid fields are set on the request object. Updated unit tests to assert default CommandID and Remarks behavior.
1 parent 9f8f339 commit 1cd6792

2 files changed

Lines changed: 5 additions & 3 deletions

File tree

mpesakit/services/transaction.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ def query_status(
7979
"OriginalConversationID": original_conversation_id
8080
}
8181

82-
for optional, value in optionals.items():
83-
if optional is not None:
84-
setattr(request, optional, value)
82+
for field_name, value in optionals.items():
83+
if value is not None:
84+
setattr(request, field_name, value)
8585

8686
return self.transaction_status.query(request)

tests/unit/services/test_transaction_service.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ def test_query_status_default_command_id(transaction_service, mock_http_client):
8080
occasion="JuneSalary",
8181
)
8282

83+
assert resp.CommandID == "TransactionStatusQuery"
8384
assert isinstance(resp, TransactionStatusResponse)
8485
assert resp.is_successful() is True
8586
assert resp.ResponseDescription == "Accept the service request successfully."
@@ -107,6 +108,7 @@ def test_query_status_default_remarks(transaction_service, mock_http_client):
107108
occasion="JuneSalary",
108109
)
109110

111+
assert resp.Remarks == "Status Query"
110112
assert isinstance(resp, TransactionStatusResponse)
111113
assert resp.is_successful() is True
112114
assert resp.ResponseDescription == "Accept the service request successfully."

0 commit comments

Comments
 (0)