import React from 'react'; import ReactTestRenderer from 'react-test-renderer'; import configureStore from 'redux-mock-store'; import { NewsList } from 'app/modules/news/components/newsList'; import { MemoryRouter } from 'react-router-dom'; import { Provider } from 'react-redux'; jest.mock('../store/news.selectors.ts', () => ({ selectLoadingStatus: jest.fn(() => false), selectIsMore: jest.fn(() => false), selectNews: jest.fn(() => { return { firstColumnItems: [ { id: 1, headline: 'Sample headline 1', image: 'https://exampleimage.net/some-uri-1', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-1', }, { id: 4, headline: 'Sample headline 4', image: 'https://exampleimage.net/some-uri-4', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-4', }, { id: 7, headline: 'Sample headline 7', image: null, publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-7', }, ], secondColumnItems: [ { id: 2, headline: 'Sample headline 2', image: 'https://exampleimage.net/some-uri-2', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-2', }, { id: 5, headline: 'Sample headline 5', image: 'https://exampleimage.net/some-uri-5', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-5', }, { id: 8, headline: 'Sample headline 8', image: 'https://exampleimage.net/some-uri-8', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-8', }, ], thirdColumnItems: [ { id: 3, headline: 'Sample headline 3', image: 'https://exampleimage.net/some-uri-3', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-3', }, { id: 6, headline: 'Sample headline 6', image: 'https://exampleimage.net/some-uri-6', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-6', }, { id: 9, headline: 'Sample headline 9', image: null, publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-9', }, ], allItems: [ { id: 1, headline: 'Sample headline 1', image: 'https://exampleimage.net/some-uri-1', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-1', }, { id: 2, headline: 'Sample headline 2', image: 'https://exampleimage.net/some-uri-2', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-2', }, { id: 3, headline: 'Sample headline 3', image: 'https://exampleimage.net/some-uri-3', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-3', }, { id: 4, headline: 'Sample headline 4', image: 'https://exampleimage.net/some-uri-4', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-4', }, { id: 5, headline: 'Sample headline 5', image: 'https://exampleimage.net/some-uri-5', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-5', }, { id: 6, headline: 'Sample headline 6', image: 'https://exampleimage.net/some-uri-6', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-6', }, { id: 7, headline: 'Sample headline 7', image: null, publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-7', }, { id: 8, headline: 'Sample headline 8', image: 'https://exampleimage.net/some-uri-8', publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-8', }, { id: 9, headline: 'Sample headline 9', image: null, publishDate: '2011-01-01T00:00:00', url: 'http://exampleurl.net/some-uri-9', }, ], }; } ), })); const initialState = {}; const mockStore = configureStore(); describe('NewsList component tests', () => { let store; beforeEach(function () { store = mockStore(initialState); }); it('renders correctly', () => { const tree = ReactTestRenderer .create( ) .toJSON(); expect(tree).toMatchSnapshot(); }); });