Documentation for a newer release is available. View Latest

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()