77 lines
3.6 KiB
TypeScript

import { BigNumber } from '@0x/utils';
import { RadarOrderState, RadarOrderType } from '@radarrelay/types';
import * as chai from 'chai';
import 'mocha';
import { RadarSource } from '../../../src/data_sources/radar';
import { chaiSetup } from '../../utils/chai_setup';
chaiSetup.configure();
const expect = chai.expect;
const rawResponse = {
orderHash: '0x60bc235f7887a50801c8fc1fc18fb0625ac5f3962cdc1bd59567a6929db8b2ec',
type: 'BID',
state: 'OPEN',
baseTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
quoteTokenAddress: '0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359',
remainingBaseTokenAmount: '9.079731811797989766',
remainingQuoteTokenAmount: '1099.999999999999999889',
price: '121.14895272244560081697',
createdDate: '2019-02-13 21:35:53',
signedOrder: {
exchangeAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b',
senderAddress: '0x0000000000000000000000000000000000000000',
makerAddress: '0x56178a0d5f301baf6cf3e1cd53d9863437345bf9',
takerAddress: '0x0000000000000000000000000000000000000000',
makerAssetData: '0xf47261b000000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359',
takerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
feeRecipientAddress: '0xa258b39954cef5cb142fd567a46cddb31a670124',
makerAssetAmount: '1099999999999999999889',
takerAssetAmount: '9079731811797989766',
makerFee: '0',
takerFee: '0',
expirationTimeSeconds: '1550094353',
signature:
'0x1ce161d02ad63fe7308e9cd5e97583a8873331d1b72d90e9f3863d9fcba2518cb91ab2fe7de94e4afb39742acdc820abbff2dc0622c8d3865917fade62f16322ae03',
salt: '1550093753237',
},
};
const parsedResponse = {
orderHash: '0x60bc235f7887a50801c8fc1fc18fb0625ac5f3962cdc1bd59567a6929db8b2ec',
type: 'BID' as RadarOrderType,
state: 'OPEN' as RadarOrderState,
baseTokenAddress: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
quoteTokenAddress: '0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359',
remainingBaseTokenAmount: new BigNumber('9.079731811797989766'),
remainingQuoteTokenAmount: new BigNumber('1099.999999999999999889'),
price: new BigNumber('121.14895272244560081697'),
createdDate: '2019-02-13 21:35:53',
signedOrder: {
exchangeAddress: '0x4f833a24e1f95d70f028921e27040ca56e09ab0b',
senderAddress: '0x0000000000000000000000000000000000000000',
makerAddress: '0x56178a0d5f301baf6cf3e1cd53d9863437345bf9',
takerAddress: '0x0000000000000000000000000000000000000000',
makerAssetData: '0xf47261b000000000000000000000000089d24a6b4ccb1b6faa2625fe562bdd9a23260359',
takerAssetData: '0xf47261b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
feeRecipientAddress: '0xa258b39954cef5cb142fd567a46cddb31a670124',
makerAssetAmount: new BigNumber('1099999999999999999889'),
takerAssetAmount: new BigNumber('9079731811797989766'),
makerFee: new BigNumber('0'),
takerFee: new BigNumber('0'),
expirationTimeSeconds: new BigNumber('1550094353'),
signature:
'0x1ce161d02ad63fe7308e9cd5e97583a8873331d1b72d90e9f3863d9fcba2518cb91ab2fe7de94e4afb39742acdc820abbff2dc0622c8d3865917fade62f16322ae03',
salt: new BigNumber('1550093753237'),
},
};
describe('RadarSource', () => {
describe('parseRadarOrderResponse', () => {
it('Correctly parses a Radar orderbook response to a RadarBook', () => {
expect(RadarSource.parseRadarOrderResponse(rawResponse)).deep.equal(parsedResponse);
});
});
});