UNPKG

xek-sdk

Version:

SDK for katana blockchain

36 lines (32 loc) 1.85 kB
'use strict'; const assert = require('assert'); const Contract = require("../src/contract"); const config = require("./config-contract-test"); const API = 'http://172.16.1.107:3000/api'; const CHAINID = "xek-798B1C"; const REQUIRED_OWNER = 2; let addressContract = ""; describe('Contract Test', () => { describe('Test Contract Deploy', () => { it('Deploy Contract', async () => { let myContract = new Contract(CHAINID, API, config.jsonInterface, config.byteCode); const resultDeploy = await myContract.deploy(config.owner1, config.privateKeyOwner1, [[config.owner1, config.owner2], REQUIRED_OWNER]); console.log("resultDeploy", resultDeploy); assert.notDeepStrictEqual(resultDeploy, null, "Deploy contract empty"); assert.deepStrictEqual(resultDeploy.success, true, "Deploy contract success"); assert.notDeepStrictEqual(resultDeploy.success, false, "Deploy contract failed"); assert.notDeepStrictEqual(resultDeploy.success, null, "data contract must not be empty "); addressContract = resultDeploy.data; }); it('Method Get Owner', async () => { let myContract = new Contract(CHAINID, API, config.jsonInterface, config.byteCode); let method = "getOwners"; let arrayInput = []; let data = myContract.getMethod(method, arrayInput); const resultBroadCast = await myContract.broadcastBurrowTx(method, config.owner1, addressContract, config.privateKeyOwner1, data); console.log("result method " + method, resultBroadCast); assert.notDeepStrictEqual(resultBroadCast, null, "Cannot call method " + method); assert.deepStrictEqual(resultBroadCast.length, REQUIRED_OWNER, "Call method " + method + " success"); }); }); });