@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
JavaScript
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