From 80c97ca21b168e7f94cae6333be5439b6db2fe1d Mon Sep 17 00:00:00 2001 From: Marek Kotewicz Date: Sat, 31 Jan 2015 03:42:13 +0100 Subject: events --- test/event.js | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 77 insertions(+), 3 deletions(-) (limited to 'test/event.js') diff --git a/test/event.js b/test/event.js index 43f8dcf38..9edd93ae7 100644 --- a/test/event.js +++ b/test/event.js @@ -1,5 +1,6 @@ var assert = require('assert'); var event = require('../lib/event.js'); +var f = require('../lib/formatters.js'); describe('event', function () { it('should create basic filter input object', function () { @@ -7,9 +8,13 @@ describe('event', function () { // given var address = '0x012345'; var signature = '0x987654'; + var e = { + name: 'Event', + inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}] + }; // when - var impl = event(address, signature); + var impl = event(address, signature, e); var result = impl(); // then @@ -19,7 +24,7 @@ describe('event', function () { }); - it('should create basic filter input object', function () { + it('should create filter input object with options', function () { // given var address = '0x012345'; @@ -30,9 +35,13 @@ describe('event', function () { offset: 3, max: 4 }; + var e = { + name: 'Event', + inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}] + }; // when - var impl = event(address, signature); + var impl = event(address, signature, e); var result = impl({}, options); // then @@ -46,5 +55,70 @@ describe('event', function () { }); + it('should create filter input object with indexed params', function () { + + // given + var address = '0x012345'; + var signature = '0x987654'; + var options = { + earliest: 1, + latest: 2, + offset: 3, + max: 4 + }; + var e = { + name: 'Event', + inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}] + }; + + // when + var impl = event(address, signature, e); + var result = impl({a: 4}, options); + + // then + assert.equal(result.address, address); + assert.equal(result.topic.length, 2); + assert.equal(result.topic[0], signature); + assert.equal(result.topic[1], f.formatInputInt(4)); + assert.equal(result.earliest, options.earliest); + assert.equal(result.latest, options.latest); + assert.equal(result.offset, options.offset); + assert.equal(result.max, options.max); + + }); + + it('should create filter input object with an array of indexed params', function () { + + // given + var address = '0x012345'; + var signature = '0x987654'; + var options = { + earliest: 1, + latest: 2, + offset: 3, + max: 4 + }; + var e = { + name: 'Event', + inputs: [{"name":"a","type":"uint256","indexed":true},{"name":"b","type":"hash256","indexed":false}] + }; + + // when + var impl = event(address, signature, e); + var result = impl({a: [4, 69]}, options); + + // then + assert.equal(result.address, address); + assert.equal(result.topic.length, 2); + assert.equal(result.topic[0], signature); + assert.equal(result.topic[1][0], f.formatInputInt(4)); + assert.equal(result.topic[1][1], f.formatInputInt(69)); + assert.equal(result.earliest, options.earliest); + assert.equal(result.latest, options.latest); + assert.equal(result.offset, options.offset); + assert.equal(result.max, options.max); + + }); + }); -- cgit v1.2.3