UNPKG

test-ic-wallet-middleware-icrc

Version:
73 lines (72 loc) 3.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const common_1 = require("@ic-wallet-middleware/common"); const mockLogger_1 = require("../../../../__tests_utils/mockLogger"); const addIcrcAllowanceHandler_1 = require("../../../../internalHandlers/icrcCacheDataHandlers/allowances/addIcrcAllowanceHandler/addIcrcAllowanceHandler"); const assetMetaDataCacheHandler_1 = require("../../../../internalHandlers/icrcCacheDataHandlers/assets/assetMetaDataCacheHandler/assetMetaDataCacheHandler"); const repositories_1 = require("../../../../repositories"); const types_1 = require("../../../../types"); const wrappers_1 = require("../../../../wrappers"); describe("Unit AddIcrcAllowanceHandler tests", () => { const testData = [ { name: "AddIcrcAllowanceHandler: success", input: { ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai", subAccountId: types_1.SubAccountId.parseFromString("0x0"), spenderPrincipal: "xqknu-lpemp-tx4sq-ovbp4-2cf7s-z3was-f374m-l3mui-6zh7u-qdna6-fae", spenderSubId: types_1.SubAccountId.parseFromString("0x0"), amount: BigInt(1000000), expiration: undefined }, data: { cacheData: { ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai", subAccountId: "0x0", spenderPrincipal: "xqknu-lpemp-tx4sq-ovbp4-2cf7s-z3was-f374m-l3mui-6zh7u-qdna6-fae", spenderSubId: "0x0", amount: BigInt(1000000), expiration: undefined, }, metaData: { symbol: "ICP", name: "ICP", decimals: 8, logo: "", fee: 1000n } }, result: { ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai", subAccountId: types_1.SubAccountId.parseFromString("0x0"), spenderPrincipal: "xqknu-lpemp-tx4sq-ovbp4-2cf7s-z3was-f374m-l3mui-6zh7u-qdna6-fae", spenderSubId: types_1.SubAccountId.parseFromString("0x0"), decimal: 8, amount: BigInt(1000000), expiration: undefined, } } ]; for (let test of testData) { it(test.name, async () => { const logger = new mockLogger_1.MockLogger(); const assetManagerConfiguration = new types_1.AssetManagerConfiguration(); assetManagerConfiguration.defaultDateTimeFormat = "MM/DD/YYYY HH:mm"; const identifierService = new common_1.IdentifierService(); const assetMetaDataHandler = new assetMetaDataCacheHandler_1.AssetMetaDataCacheHandler(); assetMetaDataHandler.handle = jest.fn().mockReturnValue(Promise.resolve(test.data.metaData)); const cacheStorage = new repositories_1.AllowanceLocalCache(); cacheStorage.addAllowance = jest.fn().mockReturnValue(test.data.cacheData); const addIcrcAllowanceHandler = new addIcrcAllowanceHandler_1.AddIcrcAllowanceHandler(logger, identifierService, cacheStorage, assetManagerConfiguration, assetMetaDataHandler); wrappers_1.LedgerWrapper.approveAllowance = jest.fn().mockReturnValue(Promise.resolve(undefined)); const expectedResult = common_1.FormResult.success(test.result); try { const result = await addIcrcAllowanceHandler.handle(test.input); expect(result).toEqual(expectedResult); } catch (e) { expect(e).toEqual(expectedResult); } }); } });