caver-js
Version:
caver-js is a JavaScript API library that allows developers to interact with a Kaia node
65 lines (52 loc) • 2.2 kB
JavaScript
/*
Copyright 2018 The caver-js Authors
This file is part of the caver-js library.
The caver-js library is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
The caver-js library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with the caver-js. If not, see <http://www.gnu.org/licenses/>.
*/
const { expect } = require('chai')
const testRPCURL = require('./testrpc')
const Caver = require('../index')
let caver
let senderPrvKey
let senderAddress
let testAccount
before(() => {
caver = new Caver(testRPCURL)
senderPrvKey =
process.env.privateKey && String(process.env.privateKey).indexOf('0x') === -1
? `0x${process.env.privateKey}`
: process.env.privateKey
caver.klay.accounts.wallet.add(senderPrvKey)
const sender = caver.klay.accounts.privateKeyToAccount(senderPrvKey)
senderAddress = sender.address
testAccount = caver.klay.accounts.wallet.add(caver.klay.accounts.create())
})
describe('send transaction with confirmation listener', () => {
it('CAVERJS-UNIT-ETC-001 : confirmation listener should not work', done => {
const sent = caver.klay
.sendTransaction({
type: 'VALUE_TRANSFER',
from: senderAddress,
to: testAccount.address,
value: 1,
gas: 900000,
})
.on('confirmation', nothingHappend => expect(nothingHappend).to.equal(null))
// If nothing happened during 10s,
// We can gurantee 'confirmation' listener doesn't working.
setTimeout(() => {
// Emit "Nothing happened"
sent.emit('confirmation', null)
done()
}, 10000)
}).timeout(20000)
})