diff options
author | zkao <zichongkao@gmail.com> | 2018-12-05 05:21:46 +0800 |
---|---|---|
committer | Alex Browne <stephenalexbrowne@gmail.com> | 2018-12-05 06:25:42 +0800 |
commit | 87ffa5d7ab19d2288bf68131a7e7ec77578c564c (patch) | |
tree | 68bb07481756ba578a89303f33d5c0ce8656f3a4 /packages/pipeline/test/parsers/paradex_orders | |
parent | 7198b441e0d85785eec7244dd60bcd92269d954e (diff) | |
download | dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar.gz dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar.bz2 dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar.lz dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar.xz dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.tar.zst dexon-0x-contracts-87ffa5d7ab19d2288bf68131a7e7ec77578c564c.zip |
Token_orderbook_snapshots for Ddex and Paradex(#1354)
* Implements the TokenOrderbookSnapshot Table
* Scripts, Data Sources and Entities to pull Ddex and Paradex API data.
Diffstat (limited to 'packages/pipeline/test/parsers/paradex_orders')
-rw-r--r-- | packages/pipeline/test/parsers/paradex_orders/index_test.ts | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/packages/pipeline/test/parsers/paradex_orders/index_test.ts b/packages/pipeline/test/parsers/paradex_orders/index_test.ts new file mode 100644 index 000000000..1522806bf --- /dev/null +++ b/packages/pipeline/test/parsers/paradex_orders/index_test.ts @@ -0,0 +1,54 @@ +import { BigNumber } from '@0x/utils'; +import * as chai from 'chai'; +import 'mocha'; + +import { ParadexMarket, ParadexOrder } from '../../../src/data_sources/paradex'; +import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities'; +import { parseParadexOrder } from '../../../src/parsers/paradex_orders'; +import { OrderType } from '../../../src/types'; +import { chaiSetup } from '../../utils/chai_setup'; + +chaiSetup.configure(); +const expect = chai.expect; + +// tslint:disable:custom-no-magic-numbers +describe('paradex_orders', () => { + describe('parseParadexOrder', () => { + it('converts ParadexOrder to TokenOrder entity', () => { + const paradexOrder: ParadexOrder = { + amount: '412', + price: '0.1245', + }; + const paradexMarket: ParadexMarket = { + id: '2', + symbol: 'ABC/DEF', + baseToken: 'DEF', + quoteToken: 'ABC', + minOrderSize: '0.1', + maxOrderSize: '1000', + priceMaxDecimals: 5, + amountMaxDecimals: 5, + baseTokenAddress: '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81', + quoteTokenAddress: '0x0000000000000000000000000000000000000000', + }; + const observedTimestamp: number = Date.now(); + const orderType: OrderType = 'bid'; + const source: string = 'paradex'; + + const expected = new TokenOrder(); + expected.source = 'paradex'; + expected.observedTimestamp = observedTimestamp; + expected.orderType = 'bid'; + expected.price = new BigNumber(0.1245); + expected.baseAssetSymbol = 'DEF'; + expected.baseAssetAddress = '0xb45df06e38540a675fdb5b598abf2c0dbe9d6b81'; + expected.baseVolume = new BigNumber(412 * 0.1245); + expected.quoteAssetSymbol = 'ABC'; + expected.quoteAssetAddress = '0x0000000000000000000000000000000000000000'; + expected.quoteVolume = new BigNumber(412); + + const actual = parseParadexOrder(paradexMarket, observedTimestamp, orderType, source, paradexOrder); + expect(actual).deep.equal(expected); + }); + }); +}); |