UNPKG

@ledgerhq/live-common

Version:
81 lines 2.89 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const live_app_sdk_1 = require("@ledgerhq/live-app-sdk"); const bignumber_js_1 = __importDefault(require("bignumber.js")); require("../__tests__/test-helpers/setup"); const converters_1 = require("./converters"); const evmBridge = jest.fn(); const bitcoinBridge = jest.fn(); jest.mock("../generated/platformAdapter", () => { return { evm: { getPlatformTransactionSignFlowInfos: function () { return evmBridge(); }, }, bitcoin: { getPlatformTransactionSignFlowInfos: function () { return bitcoinBridge(); }, }, }; }); describe("getPlatformTransactionSignFlowInfos", () => { beforeEach(() => { evmBridge.mockClear(); bitcoinBridge.mockClear(); }); it("should call the bridge if the implementation exists", () => { // Given const tx = { family: live_app_sdk_1.FAMILIES.BITCOIN, amount: new bignumber_js_1.default(100000), recipient: "0xABCDEF", }; // When (0, converters_1.getPlatformTransactionSignFlowInfos)(tx); // Then expect(bitcoinBridge).toBeCalledTimes(1); expect(evmBridge).toBeCalledTimes(0); }); it("should call the evm bridge for PlatformTransaction tx of ethereum family", () => { // Given const tx = { family: live_app_sdk_1.FAMILIES.ETHEREUM, amount: new bignumber_js_1.default(100000), recipient: "0xABCDEF", }; // When (0, converters_1.getPlatformTransactionSignFlowInfos)(tx); // Then expect(evmBridge).toBeCalledTimes(1); expect(bitcoinBridge).toBeCalledTimes(0); }); it("should use its fallback if the bridge doesn't exist", () => { // Given const platformTx = { family: live_app_sdk_1.FAMILIES.ALGORAND, mode: "send", amount: new bignumber_js_1.default(100000), recipient: "0xABCDEF", }; const expectedLiveTx = { family: platformTx.family, mode: "send", amount: platformTx.amount, recipient: platformTx.recipient, }; // When const { canEditFees, hasFeesProvided, liveTx } = (0, converters_1.getPlatformTransactionSignFlowInfos)(platformTx); // Then expect(evmBridge).toBeCalledTimes(0); expect(bitcoinBridge).toBeCalledTimes(0); expect(canEditFees).toBe(false); expect(hasFeesProvided).toBe(false); expect(liveTx).toEqual(expectedLiveTx); }); }); //# sourceMappingURL=converters.test.js.map