chore(trading): make limit default order type (#3619)
This commit is contained in:
parent
d0173f15b2
commit
bed411040c
@ -1,6 +1,6 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||||
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
import { VegaWalletContext } from '@vegaprotocol/wallet';
|
||||||
import { render, screen } from '@testing-library/react';
|
import { act, render, screen } from '@testing-library/react';
|
||||||
import userEvent from '@testing-library/user-event';
|
import userEvent from '@testing-library/user-event';
|
||||||
import { generateMarket, generateMarketData } from '../../test-helpers';
|
import { generateMarket, generateMarketData } from '../../test-helpers';
|
||||||
import { DealTicket } from './deal-ticket';
|
import { DealTicket } from './deal-ticket';
|
||||||
@ -40,12 +40,21 @@ describe('DealTicket', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('should display ticket defaults', () => {
|
it('should display ticket defaults', () => {
|
||||||
render(generateJsx());
|
const { container } = render(generateJsx());
|
||||||
|
|
||||||
// Assert defaults are used
|
// Assert defaults are used
|
||||||
expect(
|
expect(
|
||||||
screen.getByTestId(`order-type-${Schema.OrderType.TYPE_MARKET}`)
|
screen.getByTestId(`order-type-${Schema.OrderType.TYPE_MARKET}`)
|
||||||
).toBeInTheDocument();
|
).toBeInTheDocument();
|
||||||
|
expect(
|
||||||
|
screen.getByTestId(`order-type-${Schema.OrderType.TYPE_LIMIT}`)
|
||||||
|
).toBeInTheDocument();
|
||||||
|
|
||||||
|
const oderTypeLimitToggle = container.querySelector(
|
||||||
|
`[data-testid="order-type-${Schema.OrderType.TYPE_LIMIT}"] input[type="radio"]`
|
||||||
|
);
|
||||||
|
expect(oderTypeLimitToggle).toBeChecked();
|
||||||
|
|
||||||
expect(
|
expect(
|
||||||
screen.queryByTestId('order-side-SIDE_BUY')?.querySelector('input')
|
screen.queryByTestId('order-side-SIDE_BUY')?.querySelector('input')
|
||||||
).toBeChecked();
|
).toBeChecked();
|
||||||
@ -54,8 +63,15 @@ describe('DealTicket', () => {
|
|||||||
).not.toBeChecked();
|
).not.toBeChecked();
|
||||||
expect(screen.getByTestId('order-size')).toHaveDisplayValue('0');
|
expect(screen.getByTestId('order-size')).toHaveDisplayValue('0');
|
||||||
expect(screen.getByTestId('order-tif')).toHaveValue(
|
expect(screen.getByTestId('order-tif')).toHaveValue(
|
||||||
Schema.OrderTimeInForce.TIME_IN_FORCE_IOC
|
Schema.OrderTimeInForce.TIME_IN_FORCE_GTC
|
||||||
);
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should display last price for market type order', () => {
|
||||||
|
render(generateJsx());
|
||||||
|
act(() => {
|
||||||
|
screen.getByTestId(`order-type-${Schema.OrderType.TYPE_MARKET}`).click();
|
||||||
|
});
|
||||||
// Assert last price is shown
|
// Assert last price is shown
|
||||||
expect(screen.getByTestId('last-price')).toHaveTextContent(
|
expect(screen.getByTestId('last-price')).toHaveTextContent(
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
@ -206,7 +222,11 @@ describe('DealTicket', () => {
|
|||||||
it('handles TIF select box dependent on order type', async () => {
|
it('handles TIF select box dependent on order type', async () => {
|
||||||
render(generateJsx());
|
render(generateJsx());
|
||||||
|
|
||||||
// Only FOK and IOC should be present by default (type market order)
|
act(() => {
|
||||||
|
screen.getByTestId(`order-type-${Schema.OrderType.TYPE_MARKET}`).click();
|
||||||
|
});
|
||||||
|
|
||||||
|
// Only FOK and IOC should be present for type market order
|
||||||
expect(
|
expect(
|
||||||
Array.from(screen.getByTestId('order-tif').children).map(
|
Array.from(screen.getByTestId('order-tif').children).map(
|
||||||
(o) => o.textContent
|
(o) => o.textContent
|
||||||
|
@ -20,8 +20,8 @@ interface TypeSelectorProps {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const toggles = [
|
const toggles = [
|
||||||
{ label: t('Market'), value: Schema.OrderType.TYPE_MARKET },
|
|
||||||
{ label: t('Limit'), value: Schema.OrderType.TYPE_LIMIT },
|
{ label: t('Limit'), value: Schema.OrderType.TYPE_LIMIT },
|
||||||
|
{ label: t('Market'), value: Schema.OrderType.TYPE_MARKET },
|
||||||
];
|
];
|
||||||
|
|
||||||
export const TypeSelector = ({
|
export const TypeSelector = ({
|
||||||
|
@ -109,9 +109,9 @@ export const useOrder = (marketId: string) => {
|
|||||||
|
|
||||||
export const getDefaultOrder = (marketId: string): OrderObj => ({
|
export const getDefaultOrder = (marketId: string): OrderObj => ({
|
||||||
marketId,
|
marketId,
|
||||||
type: OrderType.TYPE_MARKET,
|
type: OrderType.TYPE_LIMIT,
|
||||||
side: Side.SIDE_BUY,
|
side: Side.SIDE_BUY,
|
||||||
timeInForce: OrderTimeInForce.TIME_IN_FORCE_IOC,
|
timeInForce: OrderTimeInForce.TIME_IN_FORCE_GTC,
|
||||||
size: '0',
|
size: '0',
|
||||||
price: '0',
|
price: '0',
|
||||||
expiresAt: undefined,
|
expiresAt: undefined,
|
||||||
|
Loading…
Reference in New Issue
Block a user