diff options
Diffstat (limited to 'packages/order-utils/test/order_state_utils_test.ts')
-rw-r--r-- | packages/order-utils/test/order_state_utils_test.ts | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/packages/order-utils/test/order_state_utils_test.ts b/packages/order-utils/test/order_state_utils_test.ts deleted file mode 100644 index 42acd54c6..000000000 --- a/packages/order-utils/test/order_state_utils_test.ts +++ /dev/null @@ -1,145 +0,0 @@ -import { SignedOrder } from '@0x/types'; -import { BigNumber } from '@0x/utils'; -import * as chai from 'chai'; -import 'mocha'; - -import { AbstractBalanceAndProxyAllowanceFetcher } from '../src/abstract/abstract_balance_and_proxy_allowance_fetcher'; -import { AbstractOrderFilledCancelledFetcher } from '../src/abstract/abstract_order_filled_cancelled_fetcher'; -import { OrderStateUtils } from '../src/order_state_utils'; - -import { chaiSetup } from './utils/chai_setup'; -import { testOrderFactory } from './utils/test_order_factory'; - -chaiSetup.configure(); -const expect = chai.expect; - -describe('OrderStateUtils', () => { - describe('#getOpenOrderStateAsync', () => { - const buildMockBalanceFetcher = (takerBalance: BigNumber): AbstractBalanceAndProxyAllowanceFetcher => { - const balanceFetcher = { - async getBalanceAsync(_assetData: string, _userAddress: string): Promise<BigNumber> { - return takerBalance; - }, - async getProxyAllowanceAsync(_assetData: string, _userAddress: string): Promise<BigNumber> { - return takerBalance; - }, - }; - return balanceFetcher; - }; - const buildMockOrderFilledFetcher = ( - filledAmount: BigNumber = new BigNumber(0), - cancelled: boolean = false, - ): AbstractOrderFilledCancelledFetcher => { - const orderFetcher = { - async getFilledTakerAmountAsync(_orderHash: string): Promise<BigNumber> { - return filledAmount; - }, - async isOrderCancelledAsync(_signedOrder: SignedOrder): Promise<boolean> { - return cancelled; - }, - getZRXAssetData(): string { - return ''; - }, - }; - return orderFetcher; - }; - it('should have valid order state if order can be fully filled with small maker amount', async () => { - const makerAssetAmount = new BigNumber(10); - const takerAssetAmount = new BigNumber(10000000000000000); - const takerBalance = takerAssetAmount; - const orderFilledAmount = new BigNumber(0); - const mockBalanceFetcher = buildMockBalanceFetcher(takerBalance); - const mockOrderFilledFetcher = buildMockOrderFilledFetcher(orderFilledAmount); - const [signedOrder] = testOrderFactory.generateTestSignedOrders( - { - makerAssetAmount, - takerAssetAmount, - }, - 1, - ); - - const orderStateUtils = new OrderStateUtils(mockBalanceFetcher, mockOrderFilledFetcher); - const orderState = await orderStateUtils.getOpenOrderStateAsync(signedOrder); - expect(orderState.isValid).to.eq(true); - }); - it('should be invalid when an order is partially filled where only a rounding error remains', async () => { - const makerAssetAmount = new BigNumber(1001); - const takerAssetAmount = new BigNumber(3); - const takerBalance = takerAssetAmount; - const orderFilledAmount = new BigNumber(2); - const mockBalanceFetcher = buildMockBalanceFetcher(takerBalance); - const mockOrderFilledFetcher = buildMockOrderFilledFetcher(orderFilledAmount); - const [signedOrder] = testOrderFactory.generateTestSignedOrders( - { - makerAssetAmount, - takerAssetAmount, - }, - 1, - ); - - const orderStateUtils = new OrderStateUtils(mockBalanceFetcher, mockOrderFilledFetcher); - const orderState = await orderStateUtils.getOpenOrderStateAsync(signedOrder); - expect(orderState.isValid).to.eq(false); - }); - it('should be invalid when an order is cancelled', async () => { - const makerAssetAmount = new BigNumber(1000); - const takerAssetAmount = new BigNumber(2); - const takerBalance = takerAssetAmount; - const orderFilledAmount = new BigNumber(0); - const isCancelled = true; - const mockBalanceFetcher = buildMockBalanceFetcher(takerBalance); - const mockOrderFilledFetcher = buildMockOrderFilledFetcher(orderFilledAmount, isCancelled); - const [signedOrder] = testOrderFactory.generateTestSignedOrders( - { - makerAssetAmount, - takerAssetAmount, - }, - 1, - ); - - const orderStateUtils = new OrderStateUtils(mockBalanceFetcher, mockOrderFilledFetcher); - const orderState = await orderStateUtils.getOpenOrderStateAsync(signedOrder); - expect(orderState.isValid).to.eq(false); - }); - it('should be invalid when an order is fully filled', async () => { - const makerAssetAmount = new BigNumber(1000); - const takerAssetAmount = new BigNumber(2); - const takerBalance = takerAssetAmount; - const orderFilledAmount = takerAssetAmount; - const isCancelled = false; - const mockBalanceFetcher = buildMockBalanceFetcher(takerBalance); - const mockOrderFilledFetcher = buildMockOrderFilledFetcher(orderFilledAmount, isCancelled); - const [signedOrder] = testOrderFactory.generateTestSignedOrders( - { - makerAssetAmount, - takerAssetAmount, - }, - 1, - ); - - const orderStateUtils = new OrderStateUtils(mockBalanceFetcher, mockOrderFilledFetcher); - const orderState = await orderStateUtils.getOpenOrderStateAsync(signedOrder); - expect(orderState.isValid).to.eq(false); - }); - it('should include the transactionHash in orderState if supplied in method invocation', async () => { - const makerAssetAmount = new BigNumber(10); - const takerAssetAmount = new BigNumber(10000000000000000); - const takerBalance = takerAssetAmount; - const orderFilledAmount = new BigNumber(0); - const mockBalanceFetcher = buildMockBalanceFetcher(takerBalance); - const mockOrderFilledFetcher = buildMockOrderFilledFetcher(orderFilledAmount); - const [signedOrder] = testOrderFactory.generateTestSignedOrders( - { - makerAssetAmount, - takerAssetAmount, - }, - 1, - ); - - const orderStateUtils = new OrderStateUtils(mockBalanceFetcher, mockOrderFilledFetcher); - const transactionHash = '0xdeadbeef'; - const orderState = await orderStateUtils.getOpenOrderStateAsync(signedOrder, transactionHash); - expect(orderState.transactionHash).to.eq(transactionHash); - }); - }); -}); |