diff --git a/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts b/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts index b74ddf7a..8f915849 100644 --- a/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts +++ b/asset-transfer-basic/rest-api-typescript/src/fabric.spec.ts @@ -280,6 +280,18 @@ describe('Fabric', () => { const index = await redis.zrange('index:txn:timestamp', 0, -1); expect(index).toStrictEqual([]); }); + + it('starts a retry loop which clears the saved details when no contract exist for the org', async () => { + addMockTransationDetails(redis); + mockContracts = new Map(); + startRetryLoop(mockContracts, redis); + jest.runOnlyPendingTimers(); + await flushPromises(); + + const index = await redis.zrange('index:txn:timestamp', 0, -1); + expect(index).toStrictEqual([]); + }); + }); describe('evatuateTransaction', () => { diff --git a/asset-transfer-basic/rest-api-typescript/src/fabric.ts b/asset-transfer-basic/rest-api-typescript/src/fabric.ts index 363f9c72..8a99d7cf 100644 --- a/asset-transfer-basic/rest-api-typescript/src/fabric.ts +++ b/asset-transfer-basic/rest-api-typescript/src/fabric.ts @@ -145,6 +145,7 @@ export const startRetryLoop = ( if (contract) { await retryTransaction(contract, redis, savedTransaction); } else { + clearTransactionDetails(redis,savedTransaction.transactionId) logger.error( 'No contract found for %s to retry transaction %s', savedTransaction.mspId,