Skip to content

Commit

Permalink
Merge pull request #89 from LD4P/react-test-setup
Browse files Browse the repository at this point in the history
React test setup
  • Loading branch information
jermnelson committed Nov 2, 2018
2 parents 353c366 + 113ba66 commit 9a140d3
Show file tree
Hide file tree
Showing 10 changed files with 458 additions and 28 deletions.
1 change: 1 addition & 0 deletions __mocks__/fileMock.js
@@ -0,0 +1 @@
module.exports = 'test-file-stub';
1 change: 1 addition & 0 deletions __mocks__/styleMock.js
@@ -0,0 +1 @@
module.exports = {};
36 changes: 36 additions & 0 deletions __tests__/components/App.test.js
@@ -0,0 +1,36 @@
import React from 'react';
import { shallow } from 'enzyme';
import App from '../../src/components/App';
import Header from '../../src/components/Header';
import NewsPanel from '../../src/components/NewsPanel';


describe('<App />', () =>{
it('should be selectable by id "app"', () => {
expect(shallow(<App />).is('#app')).toBe(true);
});

it('renders children when passed in', () => {
const wrapper = shallow((
<App>
<Header />
<NewsPanel />
</App>
));
expect(wrapper.contains(<Header />)).toBe(true);
expect(wrapper.contains(<NewsPanel />)).toBe(true);
});

it('renders an "#app"', () => {
const wrapper = shallow(<App />);
expect(wrapper.find('#app').length).toBe(1);
});

it('renders two <App /> components', () => {
const wrapper = shallow(<App />);
expect(wrapper.find(Header).length).toBe(1);
expect(wrapper.find(NewsPanel).length).toBe(1);
});


});
24 changes: 24 additions & 0 deletions __tests__/components/Header.test.js
@@ -0,0 +1,24 @@
import React from 'react';
import { shallow, render } from 'enzyme';
import Header from '../../src/components/Header';
import SinopiaLogo from '../../styles/sinopia-logo.png'

describe('<Header />', () => {
it('renders the Sinopia image', () => {
const wrapper = shallow(<Header />);
expect(wrapper.find("img").prop('src')).toEqual(SinopiaLogo);
});

it ('renders a ".navbar" w/ 4 dropdown menu options', () => {
const wrapper = shallow(<Header />);
expect(wrapper.find('.navbar').length).toBe(1);
expect(wrapper.find('.divider').length).toBe(4);
});

it ('renders a dropdown menu option', () => {
const wrapper = shallow(<Header />)
expect(wrapper.find('a[href="#"]').at(0).text()).toEqual("Help and Resources")
expect(wrapper.find('a[href="#"]').at(3).text()).toEqual("Website Usage")
});
});

0 comments on commit 9a140d3

Please sign in to comment.