From 77d4b56fb2db311827e4e5eb0a9a1ec4faafca9c Mon Sep 17 00:00:00 2001 From: Kalin Krustev Date: Wed, 10 Jul 2024 05:43:43 +0000 Subject: [PATCH] test: coverage --- test/unit/handlers/transfers/prepare.test.js | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/unit/handlers/transfers/prepare.test.js b/test/unit/handlers/transfers/prepare.test.js index f9e207fb2..651ea7dd0 100644 --- a/test/unit/handlers/transfers/prepare.test.js +++ b/test/unit/handlers/transfers/prepare.test.js @@ -35,6 +35,7 @@ optionally within square brackets . const Sinon = require('sinon') const Test = require('tapes')(require('tape')) const Kafka = require('@mojaloop/central-services-shared').Util.Kafka +const ErrorHandler = require('@mojaloop/central-services-error-handling') const Validator = require('../../../../src/handlers/transfers/validator') const TransferService = require('../../../../src/domain/transfer') const Cyril = require('../../../../src/domain/fx/cyril') @@ -937,6 +938,36 @@ Test('Transfer handler', transferHandlerTest => { test.end() }) + prepareTest.test('produce error for unexpected state', async (test) => { + await Consumer.createHandler(topicName, config, command) + Kafka.transformAccountToTopicName.returns(topicName) + Kafka.proceed.returns(true) + TransferService.getById.returns(Promise.resolve({ transferState: Enum.Transfers.TransferInternalState.RESERVED_TIMEOUT })) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, transfer).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + const result = await allTransferHandlers.prepare(null, forwardedMessages[0]) + test.equal(Kafka.proceed.getCall(0).args[2].fspiopError.errorInformation.errorCode, ErrorHandler.Enums.FSPIOPErrorCodes.INTERNAL_SERVER_ERROR.code) + test.equal(result, true) + test.end() + }) + + prepareTest.test('produce error on transfer not found', async (test) => { + await Consumer.createHandler(topicName, config, command) + Kafka.transformAccountToTopicName.returns(topicName) + Kafka.proceed.returns(true) + TransferService.getById.returns(Promise.resolve(null)) + Comparators.duplicateCheckComparator.withArgs(transfer.transferId, transfer).returns(Promise.resolve({ + hasDuplicateId: false, + hasDuplicateHash: false + })) + const result = await allTransferHandlers.prepare(null, forwardedMessages[0]) + test.equal(result, true) + test.equal(Kafka.proceed.getCall(0).args[2].fspiopError.errorInformation.errorCode, ErrorHandler.Enums.FSPIOPErrorCodes.ID_NOT_FOUND.code) + test.end() + }) + prepareTest.end() })