import React from 'react'; import ReactTestRenderer from 'react-test-renderer'; import Adapter from 'enzyme-adapter-react-16/build/index'; import Enzyme, { mount } from 'enzyme/build/index'; import { WelcomeModal } from 'app/modules/welcomePopUp/components/welcomeModal'; import { Provider } from 'react-redux'; import configureStore from 'redux-mock-store'; import { welcomePopupClose } from '../store/welcomePopup.actions'; Enzyme.configure({ adapter: new Adapter() }); jest.mock('app/modules/welcomePopUp/store/welcomePopup.selectors', () => ({ selectWelcomePopupModalData: jest.fn(() => ({ content: { isEnabled: true, releaseDate: '2022-01-13', version: 1, title: 'New release', description: 'Release description', changelog: [ 'New feature' ], incomingFeatures: [ 'IncomingFeature' ], footer: 'footer', videoLink: 'link to video', imageUrl: 'link to image', }, isOpened: true, })), })); describe('Welcome modal tests', () => { const mockStore = configureStore(); const store = mockStore({}); it('renders correctly', () => { const tree = ReactTestRenderer .create( ) .toJSON(); expect(tree).toMatchSnapshot(); }); it('trigger close modal action when overlay is clicked', () => { const component = mount(); component.find('.js-overlay-hit-area').simulate('click'); expect(store.getActions()).toContainEqual(welcomePopupClose(true)); }); it('trigger close modal action when close button is clicked', () => { const component = mount(); component.find('.js-close-button-hit-area').simulate('click'); expect(store.getActions()).toContainEqual(welcomePopupClose(true)); }); });