aboutsummaryrefslogtreecommitdiffstats
path: root/packages/pipeline/test/parsers/oasis_orders
diff options
context:
space:
mode:
authorzkao <zichongkao@gmail.com>2018-12-12 07:48:54 +0800
committerGitHub <noreply@github.com>2018-12-12 07:48:54 +0800
commit42be1a429fd9286a72e19b782c9b906cb3c0f8ad (patch)
tree123cee2e74c858b7ad7c12dc8f8a6e7ced233f5f /packages/pipeline/test/parsers/oasis_orders
parent96b8100a787d00142dcf875d940c9125571cbde6 (diff)
downloaddexon-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/oasis_orders')
-rw-r--r--packages/pipeline/test/parsers/oasis_orders/index_test.ts49
1 files changed, 49 insertions, 0 deletions
diff --git a/packages/pipeline/test/parsers/oasis_orders/index_test.ts b/packages/pipeline/test/parsers/oasis_orders/index_test.ts
new file mode 100644
index 000000000..9e8ba9a40
--- /dev/null
+++ b/packages/pipeline/test/parsers/oasis_orders/index_test.ts
@@ -0,0 +1,49 @@
+import { BigNumber } from '@0x/utils';
+import * as chai from 'chai';
+import 'mocha';
+
+import { OasisMarket } from '../../../src/data_sources/oasis';
+import { TokenOrderbookSnapshot as TokenOrder } from '../../../src/entities';
+import { parseOasisOrder } from '../../../src/parsers/oasis_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('oasis_orders', () => {
+ describe('parseOasisOrder', () => {
+ it('converts oasisOrder to TokenOrder entity', () => {
+ const oasisOrder: [string, BigNumber] = ['0.5', new BigNumber(10)];
+ const oasisMarket: OasisMarket = {
+ id: 'ABCDEF',
+ base: 'DEF',
+ quote: 'ABC',
+ buyVol: 100,
+ sellVol: 200,
+ price: 1,
+ high: 1,
+ low: 0,
+ };
+ const observedTimestamp: number = Date.now();
+ const orderType: OrderType = 'bid';
+ const source: string = 'oasis';
+
+ const expected = new TokenOrder();
+ expected.source = 'oasis';
+ expected.observedTimestamp = observedTimestamp;
+ expected.orderType = 'bid';
+ expected.price = new BigNumber(0.5);
+ expected.baseAssetSymbol = 'DEF';
+ expected.baseAssetAddress = null;
+ expected.baseVolume = new BigNumber(5);
+ expected.quoteAssetSymbol = 'ABC';
+ expected.quoteAssetAddress = null;
+ expected.quoteVolume = new BigNumber(10);
+
+ const actual = parseOasisOrder(oasisMarket, observedTimestamp, orderType, source, oasisOrder);
+ expect(actual).deep.equal(expected);
+ });
+ });
+});