import React from 'react';
import { shallow } from 'enzyme';
import { RedditListPage } from '../../../src/features/examples/RedditListPage';
describe('examples/RedditListPage', () => {
it('renders node with correct class name', () => {
const props = {
examples: { redditList: [] },
actions: {},
};
const renderedComponent = shallow();
expect(renderedComponent.find('.examples-reddit-list-page').length).toBe(1);
expect(renderedComponent.find('.no-items-tip').length).toBe(1);
});
it("renders list items when there's data", () => {
const props = {
examples: { redditList: [{ data: { id: 'id', title: 'title', url: 'url' } }] },
actions: {},
};
const renderedComponent = shallow();
expect(renderedComponent.find('.examples-reddit-list-page').length).toBe(1);
});
it('should disable fetch button when fetching reddit', () => {
const pageProps = {
examples: {
redditList: [],
fetchRedditListPending: true,
},
actions: {},
};
const renderedComponent = shallow();
expect(renderedComponent.find('.btn-fetch-reddit[disabled]').length).toBe(1);
});
it('should show error if fetch failed', () => {
const pageProps = {
examples: {
redditList: [],
fetchRedditListError: new Error('server error'),
},
actions: {},
};
const renderedComponent = shallow();
expect(renderedComponent.find('.fetch-list-error').length).toBe(1);
});
});