@swtc/lib
Version:
websocket access for jingtum blockchain
87 lines (84 loc) • 3.35 kB
JavaScript
const chai = require("chai")
const expect = chai.expect
// const { WalletGm } = require("@swtc/wallet")
const WalletGm = require("@swtc/wallet").Factory({ guomi: true, fee: 10000 })
const Remote = require("../").Factory(WalletGm)
const config = require("../../.conf/config")
const DATA = require("../../.conf/config")
const sinon = require("sinon")
const utils = Remote.utils
const sleep = time => new Promise(res => setTimeout(() => res(), time))
let { JT_NODE_GM, WSS_NODE } = config
let pair = "SWT:TEST/jHgKXtmDXGJLupHWoeJyisirpZnrvnAA9W"
describe("test remote methods GUOMI", function () {
const remote = new Remote({ server: DATA.TEST_NODE_GM })
describe("test makeCurrency", function () {
it("default to SWT", function () {
expect(remote.makeCurrency().currency).to.be.equal("SWT")
expect(remote.makeCurrency().issuer).to.be.equal("")
})
it("vcc as param", function () {
expect(remote.makeCurrency("vcc").currency).to.be.equal("VCC")
expect(remote.makeCurrency("VCC").issuer).to.be.equal(remote._issuer)
})
it("vcc and issuer as param", function () {
expect(remote.makeCurrency("vcc", DATA.issuer).currency).to.be.equal(
"VCC"
)
expect(remote.makeCurrency("VCC", DATA.issuer).issuer).to.be.equal(
DATA.issuer
)
})
})
describe("test makeAmount", function () {
it("default to 1 SWT", function () {
expect(remote.makeAmount().value).to.be.equal("1")
expect(remote.makeAmount().currency).to.be.equal("SWT")
expect(remote.makeAmount().issuer).to.be.equal("")
})
it("2 vcc as param", function () {
expect(remote.makeAmount(2, "vcc").value).to.be.equal("2")
expect(remote.makeAmount(2, "vcc").currency).to.be.equal("VCC")
expect(remote.makeAmount(2, "VCC").issuer).to.be.equal(remote._issuer)
})
it("2 vcc issuer as param", function () {
expect(remote.makeAmount(2, "vcc", DATA.issuer).value).to.be.equal("2")
expect(remote.makeAmount(2, "vcc", DATA.issuer).currency).to.be.equal(
"VCC"
)
expect(remote.makeAmount(2, "VCC", DATA.issuer).issuer).to.be.equal(
DATA.issuer
)
})
})
})
describe("test transaction additions", function () {
const remote = new Remote({ server: DATA.TEST_NODE_GM })
describe("test .signPromise()", function () {
this.timeout(15000)
let tx = remote.buildPaymentTx({
source: DATA.addressGm,
to: DATA.address2Gm,
amount: { value: 0.1, currency: "SWT", issuer: "" }
})
tx.setSequence(10)
it(".signPromise() with sequence set", async function () {
let blob = await tx.signPromise(DATA.secretGm)
expect(tx.tx_json).to.have.property("blob")
expect(tx.tx_json.blob).to.be.equal(blob)
})
it("signPromise() with secret and sequence param", async function () {
let tx = remote.buildPaymentTx({
source: DATA.addressGm,
to: DATA.address2Gm,
amount: { value: 0.1, currency: "SWT", issuer: "" }
})
let blob = await tx.signPromise(DATA.secretGm, "memo", 10)
expect(tx.tx_json).to.have.property("Sequence")
expect(tx.tx_json.Sequence).to.be.a("number")
expect(tx.tx_json.Sequence).to.be.equal(10)
expect(tx.tx_json).to.have.property("blob")
expect(tx.tx_json.blob).to.be.equal(blob)
})
})
})