From 350915f9351d25f99c86632514d30e1d4b68aa33 Mon Sep 17 00:00:00 2001 From: Juliano Lazzarotto <30806844+stackchain@users.noreply.github.com> Date: Sun, 22 Oct 2023 15:48:37 +0100 Subject: [PATCH] chore: state tests --- .../helpers/prices/getPriceAfterFee.test.ts | 1 - .../translators/reactjs/state/state.test.ts | 146 ++++++++++-------- 2 files changed, 78 insertions(+), 69 deletions(-) diff --git a/packages/swap/src/helpers/prices/getPriceAfterFee.test.ts b/packages/swap/src/helpers/prices/getPriceAfterFee.test.ts index c9f2066c6a..56fe509bf1 100644 --- a/packages/swap/src/helpers/prices/getPriceAfterFee.test.ts +++ b/packages/swap/src/helpers/prices/getPriceAfterFee.test.ts @@ -123,5 +123,4 @@ describe('getPriceAfterFee', () => { const expected = new BigNumber(10000000) expect(result).toStrictEqual(expected) }) - }) diff --git a/packages/swap/src/translators/reactjs/state/state.test.ts b/packages/swap/src/translators/reactjs/state/state.test.ts index ef28e91af2..e8e5302c08 100644 --- a/packages/swap/src/translators/reactjs/state/state.test.ts +++ b/packages/swap/src/translators/reactjs/state/state.test.ts @@ -46,85 +46,95 @@ describe('State Actions', () => { expect(state).toEqual(mockSwapStateDefault) }) - it('OrderTypeChanged', () => { - const stateTypeChanged: SwapState = { - ...mockSwapStateDefault, - orderData: { - ...mockSwapStateDefault.orderData, - amounts: { - sell: { - quantity: '10000', - tokenId: 'tokenA', - }, - buy: { - quantity: '0', - tokenId: 'tokenB', + describe('OrderTypeChanged', () => { + it('change to limit', () => { + const stateTypeChanged: SwapState = { + ...mockSwapStateDefault, + orderData: { + ...mockSwapStateDefault.orderData, + amounts: { + sell: { + quantity: '10000', + tokenId: 'tokenA', + }, + buy: { + quantity: '0', + tokenId: 'tokenB', + }, }, - }, - limitPrice: undefined, - slippage: 0, - type: 'market', - selectedPoolId: undefined, - selectedPoolCalculation: undefined, + limitPrice: undefined, + slippage: 0, + type: 'market', + selectedPoolId: undefined, + selectedPoolCalculation: undefined, - pools: [], - calculations: [], - bestPoolCalculation: undefined, - }, - } + pools: [], + calculations: [], + bestPoolCalculation: undefined, + }, + } - const action: SwapCreateOrderAction = { - type: SwapCreateOrderActionType.OrderTypeChanged, - orderType: 'limit', - } - const expectedState = produce(stateTypeChanged, (draft) => { - draft.orderData.type = 'limit' + const action: SwapCreateOrderAction = { + type: SwapCreateOrderActionType.OrderTypeChanged, + orderType: 'limit', + } + const expectedState = produce(stateTypeChanged, (draft) => { + draft.orderData.type = 'limit' + }) + const state = combinedSwapReducers(expectedState, action) + expect(state).toEqual(expectedState) }) - const state = combinedSwapReducers(expectedState, action) - expect(state).toEqual(expectedState) - }) - it('OrderTypeChanged limit', () => { - const stateTypeChanged: SwapState = { - ...mockSwapStateDefault, - orderData: { - ...mockSwapStateDefault.orderData, - amounts: { - sell: { - quantity: '10000', - tokenId: 'tokenA', - }, - buy: { - quantity: '0', - tokenId: 'tokenB', + it('change to limit and back to market', () => { + const stateTypeChanged: SwapState = { + ...mockSwapStateDefault, + orderData: { + ...mockSwapStateDefault.orderData, + amounts: { + sell: { + quantity: '10000', + tokenId: 'tokenA', + }, + buy: { + quantity: '0', + tokenId: 'tokenB', + }, }, + limitPrice: undefined, + slippage: 0, + type: 'market', + selectedPoolId: undefined, + selectedPoolCalculation: undefined, + + pools: [], + calculations: [], + bestPoolCalculation: undefined, }, - limitPrice: undefined, - slippage: 0, - type: 'market', - selectedPoolId: undefined, - selectedPoolCalculation: undefined, + } + const stateAfterPools = combinedSwapReducers(stateTypeChanged, { + type: SwapCreateOrderActionType.PoolPairsChanged, + pools: mocks.mockedPools6, + }) - pools: [], - calculations: [], - bestPoolCalculation: undefined, - }, - } - const stateAfterPools = combinedSwapReducers(stateTypeChanged, { - type: SwapCreateOrderActionType.PoolPairsChanged, - pools: mocks.mockedPools6, - }) + const actionLimit: SwapCreateOrderAction = { + type: SwapCreateOrderActionType.OrderTypeChanged, + orderType: 'limit', + } - const actionLimit: SwapCreateOrderAction = { - type: SwapCreateOrderActionType.OrderTypeChanged, - orderType: 'limit', - } + const state = combinedSwapReducers(stateAfterPools, actionLimit) - const state = combinedSwapReducers(stateAfterPools, actionLimit) + expect(state.orderData.type).toBe('limit') + expect(state.orderData.limitPrice).toBe('0.5') + expect(state.orderData.amounts.buy.quantity).toBe('198') - expect(state.orderData.type).toBe('limit') - expect(state.orderData.limitPrice).toBe('0.5') - expect(state.orderData.amounts.buy.quantity).toBe('198') + const actionMarket: SwapCreateOrderAction = { + type: SwapCreateOrderActionType.OrderTypeChanged, + orderType: 'market', + } + + const stateBack = combinedSwapReducers(state, actionMarket) + expect(stateBack.orderData.type).toBe('market') + }) }) it('UnsignedTxChanged', () => {