UNPKG

test-ic-wallet-middleware-icrc

Version:
88 lines (87 loc) 3.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const agent_1 = require("@dfinity/agent"); const principal_1 = require("@dfinity/principal"); const common_1 = require("@ic-wallet-middleware/common"); const mockLogger_1 = require("../../../../__tests_utils/mockLogger"); const supportedAssetsCacheHandler_1 = require("../../../../internalHandlers/icrcCacheDataHandlers/services/supportedAssetsCacheHandler/supportedAssetsCacheHandler"); const serviceLocalCache_1 = require("../../../../repositories/cache/serviceLocalCache/serviceLocalCache"); describe("Unit SupportedAssetsCacheHandler tests", () => { const testData = [ { name: "get supported Assets from canister", input: { servicePrincipal: "pmr6h-yaaaa-aaaao-a3myq-cai", loadType: common_1.LoadType.Full }, data: { cacheData: undefined, }, result: common_1.FormResult.success({ principals: [ "xevnm-gaaaa-aaaar-qafnq-cai", "ryjl3-tyaaa-aaaaa-aaaba-cai", "mxzaz-hqaaa-aaaar-qaada-cai", "ss2fx-dyaaa-aaaar-qacoq-cai", ] }) }, { name: "get supported Assets from cache", input: { servicePrincipal: "pmr6h-yaaaa-aaaao-a3myq-cai", loadType: common_1.LoadType.Cache }, data: { cacheData: { servicePrincipal: "pmr6h-yaaaa-aaaao-a3myq-cai", assets: [ { ledgerAddress: "ryjl3-tyaaa-aaaaa-aaaba-cai", deposit: BigInt(0), assetDetail: {} }, ] }, }, result: common_1.FormResult.success({ principals: [ "ryjl3-tyaaa-aaaaa-aaaba-cai", ] }) }, { name: "get supported Assets from cache, cache is empty", input: { servicePrincipal: "pmr6h-yaaaa-aaaao-a3myq-cai", loadType: common_1.LoadType.Cache }, data: { cacheData: undefined, }, result: common_1.FormResult.success({ principals: [ "xevnm-gaaaa-aaaar-qafnq-cai", "ryjl3-tyaaa-aaaaa-aaaba-cai", "mxzaz-hqaaa-aaaar-qaada-cai", "ss2fx-dyaaa-aaaar-qacoq-cai", ] }) } ]; for (let test of testData) { it(test.name, async () => { jest.restoreAllMocks(); const identifierService = new common_1.IdentifierService(); const cacheRepository = new serviceLocalCache_1.ServiceLocalCache(); cacheRepository.getService = jest.fn().mockReturnValue(test.data.cacheData); cacheRepository.setService = jest.fn().mockReturnValue(undefined); identifierService.getAgent = jest.fn().mockReturnValue(new agent_1.HttpAgent()); identifierService.getPrincipal = jest.fn().mockReturnValue(principal_1.Principal.fromText("gjcgk-x4xlt-6dzvd-q3mrr-pvgj5-5bjoe-beege-n4b7d-7hna5-pa5uq-5qe")); const logger = new mockLogger_1.MockLogger(); const hplAccountCacheDataHandler = new supportedAssetsCacheHandler_1.SupportedAssetsCacheHandler(logger, identifierService, cacheRepository); const result = await hplAccountCacheDataHandler.handle(test.input); expect(result).toEqual(test.result); }, 10000); } });