import React from 'react'; import configureStore from 'redux-mock-store'; import { renderWithProvider } from '../../../../test/lib/render-helpers'; import mockState from '../../../../test/data/mock-state.json'; import NftDefaultImage from '.'; describe('NFT Default Image', () => { const mockShowIpfsModal = jest.fn(); jest.mock('../../../store/actions.ts', () => ({ showIpfsModal: () => mockShowIpfsModal, })); const store = configureStore()(mockState); it('should render with no props', () => { const { container } = renderWithProvider(, store); expect(container).toMatchSnapshot(); }); it('should match snapshot with all provided props', () => { const props = { clickable: false, }; const { container } = renderWithProvider( , store, ); expect(container).toMatchSnapshot(); }); it('should match snapshot with missing clickable prop', () => { const { container } = renderWithProvider(, store); expect(container).toMatchSnapshot(); }); it('does not render component with clickable class when clickable is false', () => { const { container } = renderWithProvider( , store, ); expect(container.firstChild).not.toHaveClass('nft-default--clickable'); }); it('renders component with clickable class when clickable is true', () => { const { container } = renderWithProvider( , store, ); expect(container.firstChild).toHaveClass('nft-default--clickable'); }); });