diff options
author | zkao <zichongkao@gmail.com> | 2018-12-12 07:48:54 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-12 07:48:54 +0800 |
commit | 42be1a429fd9286a72e19b782c9b906cb3c0f8ad (patch) | |
tree | 123cee2e74c858b7ad7c12dc8f8a6e7ced233f5f /packages/pipeline/test/parsers/utils/index_test.ts | |
parent | 96b8100a787d00142dcf875d940c9125571cbde6 (diff) | |
download | dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.gz dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.bz2 dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.lz dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.xz dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.tar.zst dexon-sol-tools-42be1a429fd9286a72e19b782c9b906cb3c0f8ad.zip |
track idex orderbook snapshots (#1397)
* Track Idex and Oasis Orderbook Snapshots
Diffstat (limited to 'packages/pipeline/test/parsers/utils/index_test.ts')
-rw-r--r-- | packages/pipeline/test/parsers/utils/index_test.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/pipeline/test/parsers/utils/index_test.ts b/packages/pipeline/test/parsers/utils/index_test.ts new file mode 100644 index 000000000..5a0d0f182 --- /dev/null +++ b/packages/pipeline/test/parsers/utils/index_test.ts @@ -0,0 +1,30 @@ +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; + +import { aggregateOrders, GenericRawOrder } from '../../../src/parsers/utils'; +import { chaiSetup } from '../../utils/chai_setup'; + +chaiSetup.configure(); +const expect = chai.expect; + +// tslint:disable:custom-no-magic-numbers +describe('aggregateOrders', () => { + it('aggregates order by price point', () => { + const input = [ + { price: '1', amount: '20', orderHash: 'testtest', total: '20' }, + { price: '1', amount: '30', orderHash: 'testone', total: '30' }, + { price: '2', amount: '100', orderHash: 'testtwo', total: '200' }, + ]; + const expected = [['1', new BigNumber(50)], ['2', new BigNumber(100)]]; + const actual = aggregateOrders(input); + expect(actual).deep.equal(expected); + }); + + it('handles empty orders gracefully', () => { + const input: GenericRawOrder[] = []; + const expected: Array<[string, BigNumber]> = []; + const actual = aggregateOrders(input); + expect(actual).deep.equal(expected); + }); +}); |