UNPKG

xek-sdk

Version:

SDK for katana blockchain

83 lines (67 loc) 3.58 kB
'use strict'; const assert = require('assert'); const config = require('./config-test'); function sleep(ms){ return new Promise(resolve=>{ setTimeout(resolve,ms) }) } describe("1. Test submit 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; let contractAddr = '75F6F6754D5D5FC1BB3834A82D44659CE68C85DB'; // await sleep(500); // count transaction // let dataCountTx = config.myContract.getMethod("transactionCount",[]); // let txNumb = await config.myContract.broadcastBurrowTx("transactionCount",config.owner1,contractAddr,config.passphraseOwner1,dataCountTx); // assert.equal(txNumb, 0); // submit transaction let dataSubmitTx = config.myContract.getMethod("submitTransaction",[config.receiver, config.amount, []]); let res = await config.myContract.broadcastBurrowTx("submitTransaction",config.owner1,contractAddr,config.passphraseOwner1,dataSubmitTx); console.log('res:', res); assert.equal(res.success, true); assert.notEqual(res.data, null); // await sleep(500); // count transaction // dataCountTx = config.myContract.getMethod("transactionCount",[]); // txNumb = await config.myContract.broadcastBurrowTx("transactionCount",config.owner1,contractAddr,config.passphraseOwner1,dataCountTx); // assert.equal(txNumb, 1); }); it("Invalid inputs", async function(){ //-------invalid receiver-------// let dataSubmitTx1 = config.myContract.getMethod("submitTransaction",[config.receiver.slice(2), config.amount, []]); assert.equal(dataSubmitTx1, 'Invalid inputs'); //-------null receiver-------// let dataSubmitTx2 = config.myContract.getMethod("submitTransaction",["", config.amount, []]); assert.equal(dataSubmitTx2, 'Invalid inputs'); //-------amount is a string-------// let dataSubmitTx3 = config.myContract.getMethod("submitTransaction",[config.receiver, "abcxyz", []]); assert.equal(dataSubmitTx3, 'Invalid inputs'); }); it("Invalid account from", async function(){ await sleep(500); 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); let dataSubmitTx = config.myContract.getMethod("submitTransaction",[config.receiver, config.amount, []]); // invalid address send transaction //-------length address-------// let dataFrom1 = await config.myContract.broadcastBurrowTx("submitTransaction",config.owner1.slice(2),contractAddr,config.passphraseOwner1,dataSubmitTx); assert.equal(dataFrom1.success, false); //-------contract address into from-------// let dataFrom2 = await config.myContract.broadcastBurrowTx("submitTransaction",config.contractOther,contractAddr,config.passphraseOwner1,dataSubmitTx); assert.equal(dataFrom2.success, false); //-------null from-------// let dataFrom3 = await config.myContract.broadcastBurrowTx("submitTransaction","",contractAddr,config.passphraseOwner1,dataSubmitTx); assert.equal(dataFrom3.success, false); }); });