UNPKG

xek-sdk

Version:

SDK for katana blockchain

53 lines (41 loc) 2.02 kB
'use strict'; const assert = require('assert'); const config = require('./config-test'); function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } describe("4. Test change require owner 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(500); // get require let dataGetRequire = config.myContract.getMethod("required",[]); let getRequire = await config.myContract.broadcastBurrowTx("required",config.owner1,contractAddr,config.passphraseOwner1,dataGetRequire); assert.equal(getRequire, 2); // data change require function let dataChangeRequire= config.myContract.getMethod("changeRequirement",[1]); // data and broastcast tx of change require into 1 function let dataSubmitTx = config.myContract.getMethod("submitTransaction",[contractAddr, 0, dataChangeRequire]); let res = await config.myContract.broadcastBurrowTx("submitTransaction", config.owner1, contractAddr, config.passphraseOwner1, dataSubmitTx); assert.equal(res.success, true); assert.notEqual(res.data, null); await sleep(500); // confirm tx let dataConfirmTx = config.myContract.getMethod("confirmTransaction",[0]); res = await config.myContract.broadcastBurrowTx("confirmTransaction", config.owner2, contractAddr, config.passphraseOwner2, dataConfirmTx); assert.equal(res.success, true); assert.notEqual(res.data, null); await sleep(500); // get require dataGetRequire = config.myContract.getMethod("required",[]); getRequire = await config.myContract.broadcastBurrowTx("required",config.owner1,contractAddr,config.passphraseOwner1,dataGetRequire); assert.equal(getRequire, 1); }); });