vega-frontend-monorepo/apps/trading-e2e/src/support/mocks/generate-fees.ts
macqbat 5ecf7d6a9f
Feat/1660 validate available margin (#1860)
* feat: deal ticket margin validation

* feat: deal ticket margin validation - working solution

* feat: deal ticket margin validation - add int test

* feat: deal ticket margin validation - improve int test

* feat: deal ticket margin validation - improve int test

* feat: deal ticket margin validation - fix unit test

* feat: deal ticket margin validation - improve case when no account

* feat: deal ticket margin validation - fix unit test

* feat: deal ticket margin validation - fix int test

* feat: deal ticket margin validation - fix int test

* feat: deal ticket margin validation - fix int test

Co-authored-by: maciek <maciek@vegaprotocol.io>
2022-10-27 20:12:03 +02:00

99 lines
2.4 KiB
TypeScript

import type { PartialDeep } from 'type-fest';
import merge from 'lodash/merge';
import { Schema as Types } from '@vegaprotocol/types';
import type {
EstimateOrderQuery,
MarketMarkPriceQuery,
PartyBalanceQuery,
PartyMarketDataQuery,
} from '@vegaprotocol/deal-ticket';
const estimateOrderMock: EstimateOrderQuery = {
estimateOrder: {
__typename: 'OrderEstimate',
totalFeeAmount: '0.0006',
fee: {
__typename: 'TradeFee',
makerFee: '0.0001',
infrastructureFee: '0.0002',
liquidityFee: '0.0003',
},
marginLevels: { __typename: 'MarginLevels', initialLevel: '1' },
},
};
export const generateEstimateOrder = (
override?: PartialDeep<EstimateOrderQuery>
) => {
return merge(estimateOrderMock, override);
};
const marketMarkPriceMock: MarketMarkPriceQuery = {
market: {
__typename: 'Market',
decimalPlaces: 5,
data: {
__typename: 'MarketData',
markPrice: '100',
market: { __typename: 'Market', id: 'market-0' },
},
},
};
export const generateMarkPrice = () => {
return marketMarkPriceMock;
};
const partyBalanceMock: PartyBalanceQuery = {
party: {
__typename: 'Party',
accounts: [
{
__typename: 'AccountBalance',
type: Types.AccountType.ACCOUNT_TYPE_GENERAL,
balance: '100',
asset: {
__typename: 'Asset',
id: '5cfa87844724df6069b94e4c8a6f03af21907d7bc251593d08e4251043ee9f7c',
symbol: 'tBTC',
name: 'BTC',
decimals: 5,
},
},
],
},
};
export const generatePartyBalance = () => {
return partyBalanceMock;
};
export const generatePartyMarketData = (): PartyMarketDataQuery => {
return {
party: {
id: Cypress.env('VEGA_PUBLIC_KEY'),
accounts: [
{
type: Types.AccountType.ACCOUNT_TYPE_GENERAL,
balance: '1200000',
asset: { id: 'fBTC', decimals: 5, __typename: 'Asset' },
market: null,
__typename: 'AccountBalance',
},
{
__typename: 'AccountBalance',
type: Types.AccountType.ACCOUNT_TYPE_GENERAL,
balance: '100',
asset: {
__typename: 'Asset',
id: '5cfa87844724df6069b94e4c8a6f03af21907d7bc251593d08e4251043ee9f7c',
decimals: 5,
},
},
],
marginsConnection: { edges: null, __typename: 'MarginConnection' },
__typename: 'Party',
},
};
};