From c86a23e2193df2c920295d2ba3871249a77b015f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20G=C5=82ownia?= Date: Tue, 25 Jul 2023 16:14:36 +0200 Subject: [PATCH] feat: tests fixes --- .../trading-deal-ticket-basics.cy.ts | 6 +-- apps/trading-e2e/src/support/create-order.ts | 5 +- .../deal-ticket/deal-ticket.spec.tsx | 53 ++++++++++--------- .../components/deal-ticket/deal-ticket.tsx | 4 +- libs/deal-ticket/src/hooks/index.ts | 1 + 5 files changed, 40 insertions(+), 29 deletions(-) diff --git a/apps/trading-e2e/src/integration/trading-deal-ticket-basics.cy.ts b/apps/trading-e2e/src/integration/trading-deal-ticket-basics.cy.ts index 9512f317a..b209ba725 100644 --- a/apps/trading-e2e/src/integration/trading-deal-ticket-basics.cy.ts +++ b/apps/trading-e2e/src/integration/trading-deal-ticket-basics.cy.ts @@ -36,8 +36,8 @@ describe('deal ticket basics', { tags: '@smoke' }, () => { // 7002-SORD-005 // 7002-SORD-006 // 7002-SORD-007 - cy.getByTestId(toggleLimit).click().children('input').should('be.checked'); - cy.getByTestId(toggleMarket).click().children('input').should('be.checked'); + cy.getByTestId(toggleLimit).click().next('input').should('be.checked'); + cy.getByTestId(toggleMarket).click().next('input').should('be.checked'); }); it('order connect vega wallet button should connect', () => { @@ -51,7 +51,7 @@ describe('deal ticket basics', { tags: '@smoke' }, () => { .click(); cy.wait('@walletReq'); cy.getByTestId(placeOrderBtn).should('be.visible'); - cy.getByTestId(toggleLimit).children('input').should('be.checked'); + cy.getByTestId(toggleLimit).next('input').should('be.checked'); cy.getByTestId(orderPriceField).should('have.value', '101'); }); }); diff --git a/apps/trading-e2e/src/support/create-order.ts b/apps/trading-e2e/src/support/create-order.ts index 80f1690ab..17a7b0ede 100644 --- a/apps/trading-e2e/src/support/create-order.ts +++ b/apps/trading-e2e/src/support/create-order.ts @@ -1,3 +1,4 @@ +import { OrderType } from '@vegaprotocol/types'; import type { OrderSubmission } from '@vegaprotocol/wallet'; const orderSizeField = 'order-size'; @@ -9,7 +10,9 @@ export const createOrder = (order: OrderSubmission): void => { cy.log('Placing order', order); const { type, side, size, price, timeInForce, expiresAt } = order; - cy.getByTestId(`order-type-${type}`).click(); + cy.getByTestId( + `order-type-${type === OrderType.TYPE_LIMIT ? 'Limit' : 'Market'}` + ).click(); cy.getByTestId(`order-side-${side}`).click(); cy.getByTestId(orderSizeField).clear().type(size); if (price) { diff --git a/libs/deal-ticket/src/components/deal-ticket/deal-ticket.spec.tsx b/libs/deal-ticket/src/components/deal-ticket/deal-ticket.spec.tsx index 528863530..35cb9ffe4 100644 --- a/libs/deal-ticket/src/components/deal-ticket/deal-ticket.spec.tsx +++ b/libs/deal-ticket/src/components/deal-ticket/deal-ticket.spec.tsx @@ -12,15 +12,12 @@ import { useCreateOrderStore } from '@vegaprotocol/orders'; jest.mock('zustand'); jest.mock('./deal-ticket-fee-details', () => ({ DealTicketFeeDetails: () =>
, + DealTicketMarginDetails: () => ( +
+ ), })); const marketPrice = '200'; - -jest.mock('@vegaprotocol/markets', () => ({ - ...jest.requireActual('@vegaprotocol/markets'), - useMarketPrice: jest.fn(() => ({ data: marketPrice })), -})); - const pubKey = 'pubKey'; const market = generateMarket(); const marketData = generateMarketData(); @@ -33,6 +30,7 @@ function generateJsx() { @@ -64,10 +62,11 @@ describe('DealTicket', () => { expect(screen.getByTestId('order-type-Market')).toBeInTheDocument(); expect(screen.getByTestId('order-type-Limit')).toBeInTheDocument(); - const oderTypeLimitToggle = container.querySelector( - '[data-testid="order-type-Limit"] input[type="radio"]' - ); - expect(oderTypeLimitToggle).toBeChecked(); + expect( + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) + ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_BUY')?.querySelector('input') @@ -112,11 +111,13 @@ describe('DealTicket', () => { }, }); - render(generateJsx()); + const { container } = render(generateJsx()); // Assert correct defaults are used from store expect( - screen.getByTestId('order-type-Limit').querySelector('input') + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_SELL')?.querySelector('input') @@ -153,11 +154,13 @@ describe('DealTicket', () => { }, }); - render(generateJsx()); + const { container } = render(generateJsx()); // Assert correct defaults are used from store expect( - screen.getByTestId('order-type-Limit').querySelector('input') + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_SELL')?.querySelector('input') @@ -199,11 +202,13 @@ describe('DealTicket', () => { }, }); - render(generateJsx()); + const { container } = render(generateJsx()); // Assert correct defaults are used from store expect( - screen.getByTestId('order-type-Limit').querySelector('input') + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_SELL')?.querySelector('input') @@ -250,13 +255,13 @@ describe('DealTicket', () => { }, }); - render(generateJsx()); + const { container } = render(generateJsx()); // Assert correct defaults are used from store expect( - screen - .getByTestId(`order-type-${Schema.OrderType.TYPE_LIMIT}`) - .querySelector('input') + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_SELL')?.querySelector('input') @@ -299,13 +304,13 @@ describe('DealTicket', () => { }, }); - render(generateJsx()); + const { container } = render(generateJsx()); // Assert correct defaults are used from store expect( - screen - .getByTestId(`order-type-${Schema.OrderType.TYPE_LIMIT}`) - .querySelector('input') + container.querySelector( + '[data-testid="order-type-Limit"] + input[type="radio"]' + ) ).toBeChecked(); expect( screen.queryByTestId('order-side-SIDE_SELL')?.querySelector('input') 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 79c6ff445..32fcd99d0 100644 --- a/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx +++ b/libs/deal-ticket/src/components/deal-ticket/deal-ticket.tsx @@ -303,7 +303,9 @@ export const DealTicket = ({ ); // if an order doesn't exist one will be created by the store immediately - if (!order || !normalizedOrder) return null; + if (!order || !normalizedOrder) { + return null; + } return (