Add a regression test

This commit is contained in:
Leonid Logvinov
2017-11-23 14:15:01 -06:00
parent 062f85e506
commit 8c54e9a873

View File

@@ -68,16 +68,34 @@ describe('SubscriptionTest', () => {
_.each(stubs, s => s.restore()); _.each(stubs, s => s.restore());
stubs = []; stubs = [];
}); });
it('Should receive the Error when an error occurs', (done: DoneCallback) => { it('Should receive the Error when an error occurs while fetching the block', (done: DoneCallback) => {
(async () => { (async () => {
const errMsg = 'Error fetching block';
const callback = (err: Error, logEvent: DecodedLogEvent<ApprovalContractEventArgs>) => { const callback = (err: Error, logEvent: DecodedLogEvent<ApprovalContractEventArgs>) => {
expect(err).to.not.be.null(); expect(err).to.be.equal(errMsg);
expect(logEvent).to.be.undefined(); expect(logEvent).to.be.undefined();
done(); done();
}; };
stubs = [ stubs = [
Sinon.stub((zeroEx as any)._web3Wrapper, 'getBlockAsync') Sinon.stub((zeroEx as any)._web3Wrapper, 'getBlockAsync')
.throws('JSON RPC error'), .throws(errMsg),
];
zeroEx.token.subscribe(
tokenAddress, TokenEvents.Approval, indexFilterValues, callback);
await zeroEx.token.setAllowanceAsync(tokenAddress, coinbase, addressWithoutFunds, allowanceAmount);
})().catch(done);
});
it('Should receive the Error when an error occurs while reconciling the new block', (done: DoneCallback) => {
(async () => {
const errMsg = 'Error fetching logs';
const callback = (err: Error, logEvent: DecodedLogEvent<ApprovalContractEventArgs>) => {
expect(err).to.be.equal(errMsg);
expect(logEvent).to.be.undefined();
done();
};
stubs = [
Sinon.stub((zeroEx as any)._web3Wrapper, 'getLogsAsync')
.throws(errMsg),
]; ];
zeroEx.token.subscribe( zeroEx.token.subscribe(
tokenAddress, TokenEvents.Approval, indexFilterValues, callback); tokenAddress, TokenEvents.Approval, indexFilterValues, callback);