xek-sdk
Version:
SDK for katana blockchain
53 lines (40 loc) • 2.06 kB
JavaScript
;
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);
});
});