import React from 'react'; import { fireEvent } from '@testing-library/react'; import configureMockStore from 'redux-mock-store'; import thunk from 'redux-thunk'; import mockState from '../../../../test/data/mock-state.json'; import { renderWithProvider } from '../../../../test/lib/render-helpers'; import BetaHeader from '.'; const mockHideBetaHeader = jest.fn(); jest.mock('../../../store/actions', () => { return { hideBetaHeader: () => { mockHideBetaHeader(); }, }; }); describe('Beta Header', () => { let store; beforeEach(() => { store = configureMockStore([thunk])(mockState); }); afterEach(() => { mockHideBetaHeader.mockClear(); }); it('should match snapshot', () => { const { container } = renderWithProvider(, store); expect(container).toMatchSnapshot(); }); describe('Beta Header', () => { it('gets hidden when close button is clicked', () => { const { queryByTestId } = renderWithProvider(, store); const closeButton = queryByTestId('beta-header-close'); fireEvent.click(closeButton); expect(mockHideBetaHeader).toHaveBeenCalledTimes(1); }); }); });