Handle Orphan Clear And Settle Reponse.story
Scenario: Handling orphan clear and settle responses
com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseMeta(java.lang.String)
com.iconsolutions.ipf.payments.csm.sic5.application.bdd.testfw.Steps.parseLegacy(java.lang.String)
When ⦅the Payment Service⦆ sends a Clear And Settle Request
Then ⦅the CSM⦆ receives a Customer Credit Transfer
When ⦅CSM⦆ sends a Payment Status Report with values:
| FIToFIPmtStsRpt.txInf*And*Sts[0].clrSysRef | EXC002 |
| FIToFIPmtStsRpt.txInf*And*Sts[0].orgnlTxId | ThisIsAnOrphanedPacs |
| FIToFIPmtStsRpt.txInf*And*Sts[0].orgnlGrpInf.orgnlMsgId | ThisIsAnOrphanedPacs |
| FIToFIPmtStsRpt.txInf*And*Sts[0].stsRsnInf[0].orgtr.id.orgId.othr[0].id | 318668 |
Then ⦅Payment Service⦆ receives a System Event using predicate:
| level | WARN |
| name | OrphanPaymentStatusReportReceived |
| type | FUNCTIONAL |
| processingContext.associationId.value | #PaymentStatusReport_sent.fIToFIPmtStsRpt.txInf*And*Sts[0].orgnlTxId |
Then the ⦅Payment Service⦆ receives a Dead Letter Message using predicate:
| error.receivedMessage.message.targetMessage.payload.class.simpleName | Clear*And*SettleResponse |
| error.receivedMessage.message.transportMessage.messageHeaders.getHeader(CorrelationId).orElse(none) | #Clear*And*SettleRequest.processingContext.unitOfWorkId.value |
Then the ⦅Payment Service⦆ receives a System Event using predicate:
| level | ERROR |
| name | MessageSentToDeadletter |
| type | TECHNICAL |
com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()
com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()
com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()
com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()
com.iconsolutions.testfw.core.steps.BaseSteps.clearContext()