UNPKG

@ledgerhq/coin-aptos

Version:
51 lines 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const network_1 = require("../../network"); const bridge_fixture_1 = require("../../bridge/bridge.fixture"); const ts_sdk_1 = require("@aptos-labs/ts-sdk"); jest.mock("@aptos-labs/ts-sdk", () => { const originalModule = jest.requireActual("@aptos-labs/ts-sdk"); const partialMockedModule = Object.keys(originalModule).reduce((pre, methodName) => { pre[methodName] = jest.fn(); return pre; }, {}); return { ...partialMockedModule, // mock all except these AccountAddress: originalModule.AccountAddress, Hex: originalModule.Hex, }; }); let mockedGenerateSigningMessageForTransaction; let mockedGenerateSignedTransaction; describe("signTransaction", () => { beforeAll(() => { mockedGenerateSigningMessageForTransaction = jest.mocked(ts_sdk_1.generateSigningMessageForTransaction); mockedGenerateSignedTransaction = jest.mocked(ts_sdk_1.generateSignedTransaction); }); afterEach(() => { jest.resetAllMocks(); }); it("should throw an error", async () => { mockedGenerateSigningMessageForTransaction.mockReturnValue("signingMessage"); const mockGenerateSignedTransactionSpy = jest.spyOn({ generateSignedTransaction: mockedGenerateSignedTransaction }, "generateSignedTransaction"); const signerContext = jest.fn().mockImplementation(() => ({ signature: "0x7aa193705193f4" })); const account = (0, bridge_fixture_1.createFixtureAccount)(); const deviceId = "nanoX"; const rawTxn = new ts_sdk_1.RawTransaction(new ts_sdk_1.AccountAddress(Uint8Array.from(Buffer.from("thisaddressmustbe32byteslooooong"))), BigInt(1), "", BigInt(100), BigInt(50), BigInt(1), { chainId: 1 }); expect((0, network_1.signTransaction)(signerContext, account, deviceId, rawTxn)).rejects.toThrow("Account must have a public signing key"); expect(mockGenerateSignedTransactionSpy).toHaveBeenCalledTimes(0); }); it("should sign a transaction", async () => { mockedGenerateSigningMessageForTransaction.mockReturnValue("signingMessage"); const mockGenerateSignedTransactionSpy = jest.spyOn({ generateSignedTransaction: mockedGenerateSignedTransaction }, "generateSignedTransaction"); const signerContext = jest.fn().mockImplementation(() => ({ signature: "0x7aa193705193f4" })); const account = (0, bridge_fixture_1.createFixtureAccount)(); account.xpub = "0xb69a68cc64f7aa193705193f4dd598320a0a74baf7e4b50c9980c5bd60a82390"; const deviceId = "nanoX"; const rawTxn = new ts_sdk_1.RawTransaction(ts_sdk_1.AccountAddress.fromString(account.xpub), BigInt(1), "", BigInt(100), BigInt(50), BigInt(1), { chainId: 1 }); await (0, network_1.signTransaction)(signerContext, account, deviceId, rawTxn); expect(mockGenerateSignedTransactionSpy).toHaveBeenCalledTimes(1); }); }); //# sourceMappingURL=index.test.js.map