Skip to content

Commit

Permalink
Added test cases to order and order-table (#4916)
Browse files Browse the repository at this point in the history
  • Loading branch information
likhith-deriv committed Mar 14, 2022
1 parent ce89cc6 commit fe25fb0
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 2 deletions.
4 changes: 2 additions & 2 deletions packages/p2p/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ module.exports = {
...baseConfigForPackages,
clearMocks: true,
moduleNameMapper: {
"\\.s(c|a)ss$": "<rootDir>/../../__mocks__/styleMock.js",
"^.+\\.svg$": "<rootDir>/../../__mocks__/styleMock.js",
'\\.s(c|a)ss$': '<rootDir>/../../__mocks__/styleMock.js',
'^.+\\.svg$': '<rootDir>/../../__mocks__/styleMock.js',
'^Assets/(.*)$': '<rootDir>/src/assets/$1',
'^Components/(.*)$': '<rootDir>/src/components/$1',
'^Constants/(.*)$': '<rootDir>/src/constants/$1',
Expand Down
64 changes: 64 additions & 0 deletions packages/p2p/src/components/orders/__test__/orders.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import { useStores } from 'Stores';
import { useSafeState } from '@deriv/components';
import Orders from '../orders.jsx';

jest.mock('Stores', () => ({
...jest.requireActual('Stores'),

useStores: jest.fn().mockReturnValue({
order_store: {
order_id: null,
onOrderIdUpdate: jest.fn(),
orders: [],
onOrdersUpdate: jest.fn(),
onUnmount: jest.fn(),
setForceRerenderOrders: jest.fn(),
},
}),
}));

jest.mock('@deriv/components', () => ({
...jest.requireActual('@deriv/components'),
useSafeState: jest.fn().mockReturnValue([{}, jest.fn()]),
}));

jest.mock('Components/orders/order-table/order-table.jsx', () => jest.fn(() => <div>Order Table</div>));

jest.mock('Components/order-details/order-details.jsx', () => jest.fn(() => <div>Order Details</div>));

describe('<Orders/>', () => {
it('should invoke setup methods on component load', () => {
const { order_store } = useStores();
const [, forceRerender] = useSafeState();
render(<Orders />);

expect(order_store.setForceRerenderOrders).toHaveBeenCalledWith(forceRerender);
expect(order_store.onOrderIdUpdate).toHaveBeenCalled();
expect(order_store.onOrdersUpdate).toHaveBeenCalled();
});

it('should list all orders via Order table component', () => {
render(<Orders />);

expect(screen.getByText('Order Table')).toBeInTheDocument();
});

it('should display the order details for a particular ', () => {
useStores.mockImplementation(() => ({
order_store: {
order_id: null,
onOrderIdUpdate: jest.fn(),
orders: [],
onOrdersUpdate: jest.fn(),
onUnmount: jest.fn(),
setForceRerenderOrders: jest.fn(),
order_information: 'test',
},
}));
render(<Orders />);

expect(screen.getByText('Order Details')).toBeInTheDocument();
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
import OrderTable from '../order-table.jsx';

jest.mock('Stores', () => ({
...jest.requireActual('Stores'),
useStores: jest.fn().mockReturnValue({
general_store: {
active_notification_count: 0,
inactive_notification_count: 0,
order_table_type: false,
},
}),
}));

jest.mock('Components/misc/toggle-container.jsx', () => jest.fn(() => <div>Toggle</div>));
jest.mock('Components/orders/order-table/order-table-content.jsx', () => jest.fn(() => <div>Order Table Content</div>));

jest.mock('@deriv/components', () => ({
...jest.requireActual('@deriv/components'),
ButtonToggle: jest.fn(() => <div>Toggle Button</div>),
}));

describe('<Orders/>', () => {
it('should pass the values into OrderTableContent', () => {
render(<OrderTable />);
expect(screen.getByText('Order Table Content')).toBeInTheDocument();
});
});

1 comment on commit fe25fb0

@vercel
Copy link

@vercel vercel bot commented on fe25fb0 Mar 14, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.