UNPKG

@bajetech/digitalbits-wallet-sdk

Version:

A library to make it easier to write wallets that interact with the DigitalBits blockchain

73 lines 2.56 kB
import sinon from "sinon"; import astraxApi from "@bajetech/astrax-api"; import { TransactionBuilder } from "xdb-digitalbits-sdk"; import { astraxHandler } from "./astrax"; describe("astraxHandler", function () { var XDR = "foo"; var NETWORK = "baz"; var SIGNED_TRANSACTION = "xxx"; var astraxApiMock; var TransactionBuilderMock; beforeEach(function () { astraxApiMock = sinon.mock(astraxApi); TransactionBuilderMock = sinon.mock(TransactionBuilder); }); afterEach(function () { astraxApiMock.verify(); astraxApiMock.restore(); TransactionBuilderMock.verify(); TransactionBuilderMock.restore(); }); test("signTransaction is called with network", function () { astraxApiMock .expects("signTransaction") .once() .withArgs(XDR, NETWORK) .returns(Promise.resolve(SIGNED_TRANSACTION)); TransactionBuilderMock.expects("fromXDR") .once() .withArgs(SIGNED_TRANSACTION) .returns(true); astraxHandler.signTransaction({ // @ts-ignore transaction: { toXDR: function () { return XDR; } }, // @ts-ignore key: { privateKey: "" }, custom: { network: NETWORK }, }); }); test("signTransaction is called without network", function () { astraxApiMock .expects("signTransaction") .once() .withArgs(XDR, undefined) .returns(Promise.resolve(SIGNED_TRANSACTION)); TransactionBuilderMock.expects("fromXDR").once().returns(true); astraxHandler.signTransaction({ // @ts-ignore transaction: { toXDR: function () { return XDR; } }, // @ts-ignore key: { privateKey: "" }, }); }); test("falsy config is passed as undefined to signTransaction", function () { astraxApiMock .expects("signTransaction") .once() .withArgs(XDR, undefined) .returns(Promise.resolve(SIGNED_TRANSACTION)); TransactionBuilderMock.expects("fromXDR") .once() .withArgs(SIGNED_TRANSACTION) .returns(true); astraxHandler.signTransaction({ // @ts-ignore transaction: { toXDR: function () { return XDR; } }, // @ts-ignore key: { privateKey: "" }, // @ts-ignore custom: false, }); }); }); //# sourceMappingURL=astrax.test.js.map