From 61d65e6f68bd3de68d94f0d4fc8721a2df01d91c Mon Sep 17 00:00:00 2001 From: Matthew Russell Date: Wed, 24 Jan 2024 10:19:31 -0800 Subject: [PATCH] fix: type errors in deal ticket --- .../components/deal-ticket/deal-ticket.tsx | 7 ++-- .../src/hooks/use-position-estimate.spec.ts | 33 ------------------- .../src/hooks/use-position-estimate.ts | 14 ++++++-- 3 files changed, 17 insertions(+), 37 deletions(-) delete mode 100644 libs/deal-ticket/src/hooks/use-position-estimate.spec.ts diff --git a/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx b/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx index 0f3b6d6db..ee3e9abcf 100644 --- a/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx +++ b/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx @@ -263,8 +263,11 @@ export const DealTicket = ({ marketId: market.id, openVolume, orders, - collateralAvailable: - marginAccountBalance || generalAccountBalance ? balance : undefined, + marginAccountBalance: marginAccountBalance, + generalAccountBalance: generalAccountBalance, + orderMarginAccountBalance: '0', // TODO: Get real balance + marginMode: Schema.MarginMode.MARGIN_MODE_CROSS_MARGIN, // TODO: unhardcode this and get users margin mode for the market + averageEntryPrice: marketPrice || '0', // TODO: This assumes the order will be entirely filled at the current market price skip: !normalizedOrder || (normalizedOrder.type !== Schema.OrderType.TYPE_MARKET && diff --git a/libs/deal-ticket/src/hooks/use-position-estimate.spec.ts b/libs/deal-ticket/src/hooks/use-position-estimate.spec.ts deleted file mode 100644 index 422dbccc4..000000000 --- a/libs/deal-ticket/src/hooks/use-position-estimate.spec.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { renderHook } from '@testing-library/react'; -import { usePositionEstimate } from './use-position-estimate'; -import * as positionsModule from '@vegaprotocol/positions'; -import type { - EstimatePositionQuery, - EstimatePositionQueryVariables, -} from '@vegaprotocol/positions'; -import type { QueryResult } from '@apollo/client'; - -let mockData: object | undefined = {}; - -describe('usePositionEstimate', () => { - const args = { - marketId: 'marketId', - openVolume: '10', - orders: [], - collateralAvailable: '200', - skip: false, - }; - it('should return proper data', () => { - jest - .spyOn(positionsModule, 'useEstimatePositionQuery') - .mockReturnValue({ data: mockData } as unknown as QueryResult< - EstimatePositionQuery, - EstimatePositionQueryVariables - >); - const { result, rerender } = renderHook(() => usePositionEstimate(args)); - expect(result.current).toEqual(mockData); - mockData = undefined; - rerender(true); - expect(result.current).toEqual({}); - }); -}); diff --git a/libs/deal-ticket/src/hooks/use-position-estimate.ts b/libs/deal-ticket/src/hooks/use-position-estimate.ts index c91947681..98ed0a619 100644 --- a/libs/deal-ticket/src/hooks/use-position-estimate.ts +++ b/libs/deal-ticket/src/hooks/use-position-estimate.ts @@ -13,7 +13,12 @@ export const usePositionEstimate = ({ marketId, openVolume, orders, - collateralAvailable, + generalAccountBalance, + marginAccountBalance, + orderMarginAccountBalance, + averageEntryPrice, + marginMode, + marginFactor, skip, }: PositionEstimateProps) => { const [estimates, setEstimates] = useState( @@ -24,7 +29,12 @@ export const usePositionEstimate = ({ marketId, openVolume, orders, - collateralAvailable, + generalAccountBalance, + marginAccountBalance, + orderMarginAccountBalance, + averageEntryPrice, + marginMode, + marginFactor, }, skip, fetchPolicy: 'no-cache',