xek-sdk
Version:
SDK for katana blockchain
57 lines (48 loc) • 2.26 kB
JavaScript
;
const assert = require('assert');
const config = require('./config-test');
const fs = require('fs');
function sleep(ms){
return new Promise(resolve=>{
setTimeout(resolve,ms)
})
}
describe("0. Test deploy contract",function(){
it("Require equal 0", async function(){
let required = 0;
let resultDeploy = await config.myContract.deploy(config.owner1, config.passphraseOwner1, [[config.owner1,config.owner2], required]);
console.log('resultDeploy1:', resultDeploy);
let error = {
Code: 16,
Exception:'call error: execution reverted\nEVM call trace: Call: '+config.owner1+' -> '+Buffer.from(resultDeploy.res.Receipt.ContractAddress).toString("hex").toUpperCase()+': [error 16 - execution reverted: execution reverted]'
}
assert.equal(resultDeploy.success, false);
assert.deepEqual(resultDeploy.res.Exception, error);
await sleep(800);
});
it("100 owners", async function(){
let required = 60;
let data = await fs.readFileSync(__dirname + '/wallets.json');
let wallets = JSON.parse(data);
let resultDeploy = await config.myContract.deploy(config.owner1, config.passphraseOwner1, [wallets, required]);
console.log('resultDeploy2:', resultDeploy);
let error = {
Code: 16,
Exception:'call error: execution reverted\nEVM call trace: Call: '+config.owner1+' -> '+Buffer.from(resultDeploy.res.Receipt.ContractAddress).toString("hex").toUpperCase()+': [error 16 - execution reverted: execution reverted]'
}
assert.equal(resultDeploy.success, false);
assert.deepEqual(resultDeploy.res.Exception, error);
await sleep(800);
});
it("Null owners", async function(){
let required = 2;
let resultDeploy = await config.myContract.deploy(config.owner1, config.passphraseOwner1, [[], required]);
console.log('resultDeploy3:', resultDeploy);
let error = {
Code: 16,
Exception:'call error: execution reverted\nEVM call trace: Call: '+config.owner1+' -> '+Buffer.from(resultDeploy.res.Receipt.ContractAddress).toString("hex").toUpperCase()+': [error 16 - execution reverted: execution reverted]'
}
assert.equal(resultDeploy.success, false);
assert.deepEqual(resultDeploy.res.Exception, error);
});
});