Update tests for optional feeRate

This commit is contained in:
Brandon Millman
2018-08-09 18:59:29 -04:00
parent cbe639866e
commit af52598d32
2 changed files with 14 additions and 3 deletions

View File

@@ -23,12 +23,18 @@ describe('rateUtils', () => {
'Expected feeRate: -1 to be greater than or equal to 0',
);
});
it('correctly calculates fee adjusted rate', async () => {
it('correctly calculates fee adjusted rate when feeRate is provided', async () => {
const feeRate = new BigNumber(2); // ZRX costs 2 units of takerAsset per 1 unit of ZRX
const feeAdjustedRate = rateUtils.getFeeAdjustedRateOfOrder(testOrder, feeRate);
// the order actually takes 100 + (2 * 20) takerAsset units to fill 100 units of makerAsset
expect(feeAdjustedRate).to.bignumber.equal(new BigNumber(1.4));
});
it('correctly calculates fee adjusted rate when no feeRate is provided', async () => {
const feeAdjustedRate = rateUtils.getFeeAdjustedRateOfOrder(testOrder);
// because no feeRate was provided we just assume 0 fees
// the order actually takes 100 takerAsset units to fill 100 units of makerAsset
expect(feeAdjustedRate).to.bignumber.equal(new BigNumber(1));
});
});
describe('#getFeeAdjustedRateOfFeeOrder', () => {
it('throws when takerFee exceeds makerAssetAmount', async () => {

View File

@@ -13,6 +13,7 @@ const expect = chai.expect;
describe('sortingUtils', () => {
describe('#sortOrdersByFeeAdjustedRate', () => {
const feeRate = new BigNumber(1); // ZRX costs 1 unit of takerAsset per 1 unit of ZRX
// rate: 2 takerAsset / makerAsset
const testOrder1 = testOrderFactory.generateTestSignedOrder({
makerAssetAmount: new BigNumber(100),
@@ -29,8 +30,7 @@ describe('sortingUtils', () => {
takerAssetAmount: new BigNumber(200),
takerFee: new BigNumber(50),
});
it('correctly sorts by fee adjusted rate', async () => {
const feeRate = new BigNumber(1); // ZRX costs 1 unit of takerAsset per 1 unit of ZRX
it('correctly sorts by fee adjusted rate when feeRate is Provided', async () => {
const orders = [testOrder1, testOrder2, testOrder3];
const sortedOrders = sortingUtils.sortOrdersByFeeAdjustedRate(
[testOrder1, testOrder2, testOrder3],
@@ -38,6 +38,11 @@ describe('sortingUtils', () => {
);
expect(sortedOrders).to.deep.equal([testOrder2, testOrder1, testOrder3]);
});
it('correctly sorts by fee adjusted rate when no feeRate is Provided', async () => {
const orders = [testOrder1, testOrder2, testOrder3];
const sortedOrders = sortingUtils.sortOrdersByFeeAdjustedRate([testOrder1, testOrder2, testOrder3]);
expect(sortedOrders).to.deep.equal([testOrder2, testOrder1, testOrder3]);
});
});
describe('#sortFeeOrdersByFeeAdjustedRate', () => {
// rate: 200 takerAsset / makerAsset