Add more assertions to Web3Wrapper public methods

This commit is contained in:
Fabio Berger
2018-07-04 08:54:43 +02:00
parent 590033bcb2
commit cd766ea2a1
2 changed files with 104 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
import * as chai from 'chai';
import { BlockParamLiteral } from 'ethereum-types';
import * as Ganache from 'ganache-core';
import 'mocha';
@@ -9,6 +10,8 @@ chaiSetup.configure();
const { expect } = chai;
const NUM_GANACHE_ADDRESSES = 10;
describe('Web3Wrapper tests', () => {
const NETWORK_ID = 50;
const provider = Ganache.provider({ network_id: NETWORK_ID });
@@ -36,4 +39,51 @@ describe('Web3Wrapper tests', () => {
expect(networkId).to.be.equal(NETWORK_ID);
});
});
describe('#getNetworkIdAsync', () => {
it('gets the network id', async () => {
const networkId = await web3Wrapper.getNetworkIdAsync();
expect(networkId).to.be.equal(NETWORK_ID);
});
});
describe('#getAvailableAddressesAsync', () => {
it('gets the available addresses', async () => {
const addresses = await web3Wrapper.getAvailableAddressesAsync();
expect(addresses.length).to.be.equal(NUM_GANACHE_ADDRESSES);
});
});
describe('#getBalanceInWeiAsync', () => {
it('gets the users balance in wei', async () => {
const addresses = await web3Wrapper.getAvailableAddressesAsync();
const secondAccount = addresses[1];
const balanceInWei = await web3Wrapper.getBalanceInWeiAsync(secondAccount);
const tenEthInWei = 100000000000000000000;
expect(balanceInWei).to.be.bignumber.equal(tenEthInWei);
});
it('should throw if supplied owner not an Ethereum address hex string', async () => {
const invalidEthAddress = 'deadbeef';
expect(web3Wrapper.getBalanceInWeiAsync(invalidEthAddress)).to.eventually.to.be.rejected();
});
});
describe('#getBlockAsync', () => {
it('gets block when supplied a valid BlockParamLiteral value', async () => {
const blockParamLiteral = BlockParamLiteral.Earliest;
const block = await web3Wrapper.getBlockAsync(blockParamLiteral);
expect(block.number).to.be.equal(0);
});
it('gets block when supplied a block number', async () => {
const blockParamLiteral = 0;
const block = await web3Wrapper.getBlockAsync(blockParamLiteral);
expect(block.number).to.be.equal(0);
});
it('gets block when supplied a block hash', async () => {
const blockParamLiteral = 0;
const block = await web3Wrapper.getBlockAsync(blockParamLiteral);
const sameBlock = await web3Wrapper.getBlockAsync(block.hash as string);
expect(sameBlock.number).to.be.equal(0);
});
it('should throw if supplied invalid blockParam value', async () => {
const invalidBlockParam = 'deadbeef';
expect(web3Wrapper.getBlockAsync(invalidBlockParam)).to.eventually.to.be.rejected();
});
});
});