UNPKG

xek-sdk

Version:

SDK for katana blockchain

53 lines (40 loc) 2.06 kB
'use strict'; const assert = require('assert'); const config = require('./config-test'); function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } describe("2. Test confirm transaction function",function(){ it("True case", async function(){ let required = 2; // new contract let resultDeploy = await config.myContract.deploy(config.owner1, config.passphraseOwner1, [[config.owner1,config.owner2], required]); assert.equal(resultDeploy.success, true); assert.notEqual(resultDeploy.data, null); let contractAddr = resultDeploy.data; await sleep(800); // get transaction-count to confirm the top of the transaction let dataCountTx = config.myContract.getMethod("transactionCount",[]); let txNumb = await config.myContract.broadcastBurrowTx("transactionCount",config.owner1, contractAddr,config.passphraseOwner1,dataCountTx); assert.equal(txNumb, 0); await sleep(800); let dataSubmitTx = config.myContract.getMethod("submitTransaction",[config.receiver, config.amount, []]); let res = await config.myContract.broadcastBurrowTx("submitTransaction",config.owner1,contractAddr,config.passphraseOwner1,dataSubmitTx); assert.equal(resultDeploy.success, true); assert.notEqual(resultDeploy.data, null); await sleep(800); // get transaction-count to confirm the top of the transaction dataCountTx = config.myContract.getMethod("transactionCount",[]); txNumb = await config.myContract.broadcastBurrowTx("transactionCount",config.owner1,contractAddr,config.passphraseOwner1,dataCountTx); assert.deepEqual(txNumb, 1); await sleep(800); let dataConfirmTx = config.myContract.getMethod("confirmTransaction",[0]); res = await config.myContract.broadcastBurrowTx("confirmTransaction", config.owner2, contractAddr, config.passphraseOwner2, dataConfirmTx); console.log('res:', res); assert.equal(res.success, true); assert.notEqual(res.data, null); // let balanceAfter = await utils.getBalance(config.receiver); }); });