Skip to content

Commit

Permalink
feat: complete tests for modal
Browse files Browse the repository at this point in the history
  • Loading branch information
sergei-deriv committed Jun 25, 2024
1 parent b3143a6 commit 4983874
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import React from 'react';
import SetupRealAccountOrGoToDemoModal from '../setup-real-account-or-go-to-demo-modal';
import { render } from '@testing-library/react';
import { Analytics } from '@deriv-com/analytics';
import { StoreProvider, mockStore } from '@deriv/stores';

jest.mock('@deriv/hooks', () => ({
...jest.requireActual('@deriv/hooks'),
useContentFlag: jest.fn(() => ({ is_cr_demo: true, is_eu_demo: false })),
useGrowthbookGetFeatureValue: jest.fn(() => [false, true]),
jest.mock('@deriv-com/analytics', () => ({
...jest.requireActual('@deriv-com/analytics'),
Analytics: {
trackEvent: jest.fn(),
},
}));

jest.mock('../setup-real-account-or-go-to-demo-modal-content', () => ({
Expand All @@ -28,4 +30,20 @@ describe('SetupRealAccountOrGoToDemoModal', () => {
});
expect(container).toBeInTheDocument();
});

it('Analytics should be called one time if "is_setup_real_account_or_go_to_demo_modal_visible" = true', () => {
const mock = mockStore({ traders_hub: { is_setup_real_account_or_go_to_demo_modal_visible: true } });

const wrapper = ({ children }: { children: JSX.Element }) => (
<StoreProvider store={mock}>{children}</StoreProvider>
);

const mockTrack = Analytics.trackEvent;

render(<SetupRealAccountOrGoToDemoModal />, {
wrapper,
});

expect(mockTrack).toBeCalledTimes(1);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,7 @@ import './setup-real-account-or-go-to-demo-modal.scss';

const SetupRealAccountOrGoToDemoModal = observer(() => {
const { traders_hub } = useStore();
const { is_setup_real_account_or_go_to_demo_modal_visible, setIsSetupRealAccountOrGoToDemoModalVisible } =
traders_hub;

const closeModal = () => {
setIsSetupRealAccountOrGoToDemoModalVisible(false);
};
const { is_setup_real_account_or_go_to_demo_modal_visible } = traders_hub;

useEffect(() => {
if (is_setup_real_account_or_go_to_demo_modal_visible) {
Expand All @@ -29,20 +24,14 @@ const SetupRealAccountOrGoToDemoModal = observer(() => {
return (
<Fragment>
<DesktopWrapper>
<Modal
is_open={is_setup_real_account_or_go_to_demo_modal_visible}
toggleModal={closeModal}
width='400px'
has_close_icon={false}
>
<Modal is_open={is_setup_real_account_or_go_to_demo_modal_visible} width='400px' has_close_icon={false}>
<SetupRealAccountOrGoToDemoModalContent />
</Modal>
</DesktopWrapper>
<MobileWrapper>
<MobileDialog
portal_element_id='modal_root'
visible={is_setup_real_account_or_go_to_demo_modal_visible}
onClose={closeModal}
has_close_icon={false}
has_full_height
header_classname='setup-real-account-or-go-to-demo-modal__responsive-header'
Expand Down

0 comments on commit 4983874

Please sign in to comment.