UNPKG

@ic-wallet-kit/hpl

Version:
221 lines (220 loc) 8.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const mockConstrains_1 = require("../../../__tests_utils/mockConstrains"); const mockLogger_1 = require("../../../__tests_utils/mockLogger"); const seedToIdentity_1 = require("../../../__tests_utils/seedToIdentity"); const hplDictionaryCacheDataHandler_1 = require("../../../internalHandlers/cacheDataHandlers/hplDictionaryCacheDataHandler/hplDictionaryCacheDataHandler"); const repositories_1 = require("../../../repositories"); const common_1 = require("@ic-wallet-kit/common"); describe("Unit HplAccountCacheDataHandler tests", () => { const testData = [ { name: "get accounts from canister", input: { loadType: common_1.LoadType.Full }, data: { cacheData: undefined, }, result: [{ assetId: 9n, creationTime: 1708803516699538823n, logo: "", modificationTime: 1708999855546228757n, name: "Wrapped toy token", symbol: "MYX.H" }, { assetId: 12n, creationTime: 1708804657115229734n, logo: "", modificationTime: 1709000250392628622n, name: "Wrapped ckBTC", symbol: "ckBTC.H" }, { assetId: 10n, creationTime: 1708804696491824815n, logo: "", modificationTime: 1709000260501657595n, name: "Wrapped ckETH", symbol: "ckETH.H" }, { assetId: 11n, creationTime: 1708804726582723604n, logo: "", modificationTime: 1709000275024996100n, name: "Wrapped ICP", symbol: "ICP.H" }, { assetId: 0n, creationTime: 1708914536288306446n, logo: "", modificationTime: 1708998770438006134n, name: "Native toy token", symbol: "ABC" } ] }, { name: "get accounts from cache", input: { loadType: common_1.LoadType.Cache }, data: { cacheData: { assetsDictionary: [{ assetId: 9n, creationTime: 1708803516699538823n, logo: "", modificationTime: 1708999855546228757n, name: "Wrapped toy token", symbol: "MYX.H" }, { assetId: 12n, creationTime: 1708804657115229734n, logo: "", modificationTime: 1709000250392628622n, name: "Wrapped ckBTC", symbol: "ckBTC.H" }, { assetId: 10n, creationTime: 1708804696491824815n, logo: "", modificationTime: 1709000260501657595n, name: "Wrapped ckETH", symbol: "ckETH.H" }, { assetId: 11n, creationTime: 1708804726582723604n, logo: "", modificationTime: 1709000275024996100n, name: "Wrapped ICP", symbol: "ICP.H" }, { assetId: 0n, creationTime: 1708914536288306446n, logo: "", modificationTime: 1708998770438006134n, name: "Native toy token", symbol: "ABC" }] } }, result: [{ assetId: 9n, creationTime: 1708803516699538823n, logo: "", modificationTime: 1708999855546228757n, name: "Wrapped toy token", symbol: "MYX.H" }, { assetId: 12n, creationTime: 1708804657115229734n, logo: "", modificationTime: 1709000250392628622n, name: "Wrapped ckBTC", symbol: "ckBTC.H" }, { assetId: 10n, creationTime: 1708804696491824815n, logo: "", modificationTime: 1709000260501657595n, name: "Wrapped ckETH", symbol: "ckETH.H" }, { assetId: 11n, creationTime: 1708804726582723604n, logo: "", modificationTime: 1709000275024996100n, name: "Wrapped ICP", symbol: "ICP.H" }, { assetId: 0n, creationTime: 1708914536288306446n, logo: "", modificationTime: 1708998770438006134n, name: "Native toy token", symbol: "ABC" }] }, { name: "get accounts from cache, cache is empty", input: { loadType: common_1.LoadType.Cache }, data: { cacheData: undefined, }, result: [{ assetId: 9n, creationTime: 1708803516699538823n, logo: "", modificationTime: 1708999855546228757n, name: "Wrapped toy token", symbol: "MYX.H" }, { assetId: 12n, creationTime: 1708804657115229734n, logo: "", modificationTime: 1709000250392628622n, name: "Wrapped ckBTC", symbol: "ckBTC.H" }, { assetId: 10n, creationTime: 1708804696491824815n, logo: "", modificationTime: 1709000260501657595n, name: "Wrapped ckETH", symbol: "ckETH.H" }, { assetId: 11n, creationTime: 1708804726582723604n, logo: "", modificationTime: 1709000275024996100n, name: "Wrapped ICP", symbol: "ICP.H" }, { assetId: 0n, creationTime: 1708914536288306446n, logo: "", modificationTime: 1708998770438006134n, name: "Native toy token", symbol: "ABC" }] } ]; for (let test of testData) { it(test.name, async () => { jest.restoreAllMocks(); const identifierService = (0, seedToIdentity_1.seedToIdentifierService)("a"); const cacheRepository = new repositories_1.HplDictionaryCacheRepository(); cacheRepository.getHplDictionaryByCanisterId = jest.fn().mockReturnValue(test.data.cacheData); cacheRepository.setHplDictionary = jest.fn().mockReturnValue(undefined); const logger = new mockLogger_1.MockLogger(); const hplDictionaryCacheDataHandler = new hplDictionaryCacheDataHandler_1.HplDictionaryCacheDataHandler(logger, identifierService, cacheRepository, mockConstrains_1.mockCanisterService); const result = await hplDictionaryCacheDataHandler.handle(test.input); let formatedResult = result.data?.assetsDictionary.map((a) => { return { ...a, logo: "" }; }); expect(formatedResult).toEqual(test.result); }, 10000); } });