UNPKG

xek-sdk

Version:

SDK for katana blockchain

57 lines (45 loc) 2.36 kB
'use strict'; const assert = require('assert'); const config = require('./config-test'); function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } describe("6. Test replace 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 owner let dataGetOwner = config.myContract.getMethod("getOwners",[]); let getOwner = await config.myContract.broadcastBurrowTx("getOwners",config.owner1,contractAddr,config.passphraseOwner1,dataGetOwner); assert.equal(getOwner.length, 2); let owners = [getOwner[0].toUpperCase().slice(2),getOwner[1].toUpperCase().slice(2)]; assert.deepEqual(owners,[config.owner1,config.owner2]); // data replace owner 2 let dataReplaceOwner= config.myContract.getMethod("replaceOwner",[config.owner2,"9C9FAE22545172DADC668DA7F60E9CB617EE969B"]); // data and broastcast tx of replace owner 2 let dataSubmitTx = config.myContract.getMethod("submitTransaction",[contractAddr, 0, dataReplaceOwner]); 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 owner dataGetOwner = config.myContract.getMethod("getOwners",[]); getOwner = await config.myContract.broadcastBurrowTx("getOwners",config.owner1,contractAddr,config.passphraseOwner1,dataGetOwner); assert.equal(getOwner.length, 2); owners = [getOwner[0].toUpperCase().slice(2),getOwner[1].toUpperCase().slice(2)]; assert.deepEqual(owners,[config.owner1,'9C9FAE22545172DADC668DA7F60E9CB617EE969B']); }); });