Skip to content

Commit b728186

Browse files
committed
fix: test
1 parent 02c8770 commit b728186

File tree

4 files changed

+60
-25
lines changed

4 files changed

+60
-25
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
import React from 'react';
22
import { BrowserRouter } from 'react-router-dom';
3-
import { fireEvent, render, screen } from '@testing-library/react';
3+
import { render, screen } from '@testing-library/react';
44
import userEvent from '@testing-library/user-event';
55
import getStatusBadgeConfig from '../get-status-badge-config';
66
import { ACCOUNT_BADGE_STATUS, TAccountBadgeStatus } from '@deriv/shared';
77

88
describe('getStatusBadgeConfig', () => {
99
let account_status: TAccountBadgeStatus;
10-
const onClickBanner = jest.fn();
1110

12-
const renderCheck = (
13-
account_status: Parameters<typeof getStatusBadgeConfig>[0],
14-
onClickBanner: Parameters<typeof getStatusBadgeConfig>[1]
15-
) => {
16-
const badge = getStatusBadgeConfig(account_status, onClickBanner);
11+
const renderCheck = (account_status: Parameters<typeof getStatusBadgeConfig>[0]) => {
12+
const badge = getStatusBadgeConfig(account_status);
1713
render(
1814
<BrowserRouter>
1915
<div>{badge.text}</div>
@@ -25,7 +21,7 @@ describe('getStatusBadgeConfig', () => {
2521
it('should render pending status', () => {
2622
account_status = ACCOUNT_BADGE_STATUS.PENDING;
2723

28-
renderCheck(account_status, onClickBanner);
24+
renderCheck(account_status);
2925

3026
expect(screen.getByText('In review')).toBeInTheDocument();
3127
expect(screen.getByText('IcMt5Pending')).toBeInTheDocument();
@@ -34,26 +30,24 @@ describe('getStatusBadgeConfig', () => {
3430
it('should render failed status', () => {
3531
account_status = ACCOUNT_BADGE_STATUS.FAILED;
3632

37-
renderCheck(account_status, onClickBanner);
33+
renderCheck(account_status);
3834
const failed_text = screen.getByText('Failed');
3935

4036
expect(failed_text).toBeInTheDocument();
4137
expect(screen.getByText('IcMt5Failed')).toBeInTheDocument();
4238

4339
userEvent.click(failed_text);
44-
expect(onClickBanner).toBeCalled();
4540
});
4641

4742
it('should render needs_verification status', () => {
4843
account_status = ACCOUNT_BADGE_STATUS.NEEDS_VERIFICATION;
4944

50-
renderCheck(account_status, onClickBanner);
45+
renderCheck(account_status);
5146
const needs_verification_text = screen.getByText('Needs Verification');
5247

5348
expect(needs_verification_text).toBeInTheDocument();
5449
expect(screen.getByText('IcMt5Verification'));
5550

5651
userEvent.click(needs_verification_text);
57-
expect(onClickBanner).toBeCalled();
5852
});
5953
});

packages/account/src/Configs/get-status-badge-config.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import React from 'react';
2-
import { Text } from '@deriv/components';
32
import { ACCOUNT_BADGE_STATUS, TAccountBadgeStatus } from '@deriv/shared';
43
import { Localize } from '@deriv-com/translations';
54

packages/appstore/src/components/modals/verification-docs-list-modal/__tests__/verification-docs-list-modal.spec.tsx

+46-6
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jest.mock('@deriv/hooks', () => ({
1515
useGetStatus: jest.fn(() => ({
1616
client_kyc_status: { poi_status: 'rejected', poa_status: 'verified', valid_tin: 1 },
1717
})),
18-
useIsSelectedMT5AccountCreated: jest.fn(() => ({ is_selected_MT5_account_created: true })),
18+
useIsSelectedMT5AccountCreated: jest.fn(() => ({ is_selected_MT5_account_created: false })),
1919
}));
2020

2121
jest.mock('@deriv/quill-icons', () => ({
@@ -68,8 +68,8 @@ describe('<VerificationDocsListModal />', () => {
6868
document.body.removeChild(modal_root_el);
6969
});
7070

71-
it('should render the modal', () => {
72-
(useIsSelectedMT5AccountCreated as jest.Mock).mockReturnValueOnce({ is_selected_MT5_account_created: true });
71+
it('should render the modal with details when mt5 account is created', () => {
72+
(useIsSelectedMT5AccountCreated as jest.Mock).mockReturnValue({ is_selected_MT5_account_created: true });
7373
(useDevice as jest.Mock).mockReturnValueOnce({ isMobile: false });
7474
(useGetStatus as jest.Mock).mockReturnValueOnce({
7575
client_kyc_status: {
@@ -79,13 +79,53 @@ describe('<VerificationDocsListModal />', () => {
7979
},
8080
});
8181
renderComponent({});
82-
expect(screen.getByText('Verify your account')).toBeInTheDocument();
82+
expect(screen.getByText('Verification required')).toBeInTheDocument();
83+
expect(screen.getByText('Your account needs verification.')).toBeInTheDocument();
84+
expect(screen.getByText('Proof of identity')).toBeInTheDocument();
85+
expect(screen.getByText('Proof of address')).toBeInTheDocument();
86+
expect(screen.queryByText('Personal Details')).not.toBeInTheDocument();
8387
});
8488

85-
it('should show the DerivLightUploadPoiIcon and text', () => {
86-
(useIsSelectedMT5AccountCreated as jest.Mock).mockReturnValueOnce({ is_selected_MT5_account_created: true });
89+
it('should render the modal with details when mt5 account is not created', () => {
90+
(useIsSelectedMT5AccountCreated as jest.Mock).mockReturnValue({ is_selected_MT5_account_created: false });
91+
(useGetStatus as jest.Mock).mockReturnValueOnce({
92+
client_kyc_status: {
93+
poi_status: 'pending',
94+
poa_status: 'none',
95+
valid_tin: 0,
96+
},
97+
});
8798
renderComponent({});
8899
expect(screen.getByText('DerivLightUploadPoiIcon')).toBeInTheDocument();
100+
expect(screen.getByText('Complete your profile')).toBeInTheDocument();
101+
expect(screen.getByText('Complete your account details to proceed:')).toBeInTheDocument();
102+
expect(screen.getByText('Proof of identity')).toBeInTheDocument();
103+
expect(screen.getByText('Proof of address')).toBeInTheDocument();
104+
expect(screen.queryByText('Personal Details')).toBeInTheDocument();
105+
});
106+
it('should render the modal with details when platform is not mt5', () => {
107+
(useIsSelectedMT5AccountCreated as jest.Mock).mockReturnValue({ is_selected_MT5_account_created: false });
108+
(useGetStatus as jest.Mock).mockReturnValueOnce({
109+
client_kyc_status: {
110+
poi_status: 'pending',
111+
poa_status: 'none',
112+
},
113+
});
114+
const mock_store = mockStore({
115+
traders_hub: {
116+
is_verification_docs_list_modal_visible: true,
117+
setVerificationModalOpen: jest.fn(),
118+
},
119+
common: {
120+
platform: '',
121+
},
122+
});
123+
renderComponent({ store: mock_store });
124+
expect(screen.getByText('DerivLightUploadPoiIcon')).toBeInTheDocument();
125+
expect(screen.getByText('Verification required')).toBeInTheDocument();
89126
expect(screen.getByText('Your account needs verification.')).toBeInTheDocument();
127+
expect(screen.getByText('Proof of identity')).toBeInTheDocument();
128+
expect(screen.getByText('Proof of address')).toBeInTheDocument();
129+
expect(screen.queryByText('Personal Details')).not.toBeInTheDocument();
90130
});
91131
});

packages/appstore/src/components/modals/verification-docs-list-modal/verification-docs-list-modal.tsx

+8-6
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,19 @@ const VerificationDocsListModal = observer(() => {
7979
const { platform } = common;
8080
const { is_selected_MT5_account_created } = useIsSelectedMT5AccountCreated();
8181
const { isMobile } = useDevice();
82-
const title =
83-
platform === CFD_PLATFORMS.MT5 && !is_selected_MT5_account_created
84-
? localize('Complete your profile')
85-
: localize('Verification required');
82+
const getTitle = () =>
83+
platform === CFD_PLATFORMS.MT5 && !is_selected_MT5_account_created ? (
84+
<Localize i18n_default_text='Complete your profile' />
85+
) : (
86+
<Localize i18n_default_text='Verification required' />
87+
);
8688
return (
8789
<Suspense fallback={<UILoader />}>
8890
{!isMobile ? (
8991
<Modal
9092
is_open={is_verification_docs_list_modal_visible}
9193
toggleModal={() => setVerificationModalOpen(false)}
92-
title={title}
94+
title={getTitle()}
9395
width='44rem'
9496
should_header_stick_body={false}
9597
has_close_icon
@@ -99,7 +101,7 @@ const VerificationDocsListModal = observer(() => {
99101
) : (
100102
<MobileDialog
101103
portal_element_id='deriv_app'
102-
title={title}
104+
title={getTitle()}
103105
visible={is_verification_docs_list_modal_visible}
104106
onClose={() => setVerificationModalOpen(false)}
105107
>

0 commit comments

Comments
 (0)