test: more coverage
This commit is contained in:
parent
1cff0707ff
commit
7632881468
11
package.json
11
package.json
@ -44,6 +44,7 @@
|
|||||||
"start": "react-scripts start",
|
"start": "react-scripts start",
|
||||||
"build": "react-scripts build",
|
"build": "react-scripts build",
|
||||||
"test": "react-scripts test",
|
"test": "react-scripts test",
|
||||||
|
"test:cov": "react-scripts test --coverage",
|
||||||
"test:debug": "react-scripts --inspect-brk test --runInBand",
|
"test:debug": "react-scripts --inspect-brk test --runInBand",
|
||||||
"eject": "react-scripts eject"
|
"eject": "react-scripts eject"
|
||||||
},
|
},
|
||||||
@ -58,5 +59,13 @@
|
|||||||
"not dead",
|
"not dead",
|
||||||
"not ie <= 9",
|
"not ie <= 9",
|
||||||
"not op_mini all"
|
"not op_mini all"
|
||||||
]
|
],
|
||||||
|
"jest": {
|
||||||
|
"collectCoverageFrom": [
|
||||||
|
"src/**/*.{js,jsx}",
|
||||||
|
"!**/*index.js",
|
||||||
|
"!src/serviceWorker.js",
|
||||||
|
"!src/polyfill.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import { MemoryRouter } from 'react-router-dom';
|
||||||
import DefaultHeader from '../DefaultHeader';
|
import DefaultHeader from '../DefaultHeader';
|
||||||
|
|
||||||
it('renders without crashing', () => {
|
it('renders without crashing', () => {
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
ReactDOM.render(<DefaultHeader />, div);
|
ReactDOM.render(<MemoryRouter><DefaultHeader /></MemoryRouter>, div);
|
||||||
ReactDOM.unmountComponentAtNode(div);
|
ReactDOM.unmountComponentAtNode(div);
|
||||||
});
|
});
|
||||||
|
10
src/containers/DefaultLayout/__tests__/DefaultLayout.test.js
Normal file
10
src/containers/DefaultLayout/__tests__/DefaultLayout.test.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import ReactDOM from 'react-dom';
|
||||||
|
import {MemoryRouter, Route} from 'react-router-dom';
|
||||||
|
import DefaultLayout from '../DefaultLayout';
|
||||||
|
|
||||||
|
it('renders without crashing', () => {
|
||||||
|
const div = document.createElement('div');
|
||||||
|
ReactDOM.render(<MemoryRouter><Route path="/" name="Home" component={DefaultLayout} /></MemoryRouter>, div);
|
||||||
|
ReactDOM.unmountComponentAtNode(div);
|
||||||
|
});
|
@ -2,3 +2,14 @@ import { configure } from 'enzyme';
|
|||||||
import Adapter from 'enzyme-adapter-react-16';
|
import Adapter from 'enzyme-adapter-react-16';
|
||||||
|
|
||||||
configure({ adapter: new Adapter() });
|
configure({ adapter: new Adapter() });
|
||||||
|
|
||||||
|
if (global.document) {
|
||||||
|
document.createRange = () => ( {
|
||||||
|
setStart: () => {},
|
||||||
|
setEnd: () => {},
|
||||||
|
commonAncestorContainer: {
|
||||||
|
nodeName: 'BODY',
|
||||||
|
ownerDocument: document,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -1,9 +1,25 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import { mount } from 'enzyme'
|
||||||
import Dropdowns from './Dropdowns';
|
import Dropdowns from './Dropdowns';
|
||||||
|
|
||||||
it('renders without crashing', () => {
|
it('renders without crashing', () => {
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
ReactDOM.render(<Dropdowns />, div);
|
ReactDOM.render(<Dropdowns />, div);
|
||||||
ReactDOM.unmountComponentAtNode(div);
|
ReactDOM.unmountComponentAtNode(div);
|
||||||
|
const wrapper = mount(<Dropdowns />);
|
||||||
|
for (let i=0; i<5; i++) {
|
||||||
|
let Dropdown = wrapper.find('button.dropdown-toggle').at(i);
|
||||||
|
Dropdown.simulate('click');
|
||||||
|
expect(wrapper.state().dropdownOpen[i]).toEqual(true);
|
||||||
|
}
|
||||||
|
for (let i=0; i<2; i++) {
|
||||||
|
let Dropdown = wrapper.find('[data-toggle="dropdown"]').at(0);
|
||||||
|
Dropdown.simulate('click');
|
||||||
|
expect(wrapper.state().dropdownOpen[5]).toEqual(true);
|
||||||
|
let DropdownItem = wrapper.find('div.dropdown-menu > .dropdown-item').at(i);
|
||||||
|
DropdownItem.simulate('click');
|
||||||
|
expect(wrapper.state().dropdownOpen[5]).toEqual(false);
|
||||||
|
}
|
||||||
|
wrapper.unmount()
|
||||||
});
|
});
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import { MemoryRouter } from 'react-router-dom';
|
||||||
import Login from './Login';
|
import Login from './Login';
|
||||||
|
|
||||||
it('renders without crashing', () => {
|
it('renders without crashing', () => {
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
ReactDOM.render(<Login />, div);
|
ReactDOM.render(<MemoryRouter><Login/></MemoryRouter>, div);
|
||||||
ReactDOM.unmountComponentAtNode(div);
|
ReactDOM.unmountComponentAtNode(div);
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import Colors from './Colors';
|
import Colors from './Colors';
|
||||||
import { shallow } from 'enzyme'
|
import { mount } from 'enzyme'
|
||||||
|
|
||||||
it('renders without crashing', () => {
|
it('renders without crashing', () => {
|
||||||
shallow(<Colors />);
|
mount(<Colors />);
|
||||||
});
|
});
|
||||||
|
15
src/views/Users/User.test.js
Normal file
15
src/views/Users/User.test.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import {MemoryRouter} from 'react-router-dom';
|
||||||
|
import { mount } from 'enzyme'
|
||||||
|
import User from './User';
|
||||||
|
|
||||||
|
|
||||||
|
it('renders without crashing', () => {
|
||||||
|
const wrapper = mount(
|
||||||
|
<MemoryRouter>
|
||||||
|
<User match={{params: {id: "1"}, isExact: true, path: "/users/:id", name: "User details"}}/>
|
||||||
|
</MemoryRouter>
|
||||||
|
);
|
||||||
|
expect(wrapper.containsMatchingElement(<strong>Samppa Nori</strong>)).toEqual(true)
|
||||||
|
wrapper.unmount()
|
||||||
|
});
|
@ -1,9 +1,10 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import ReactDOM from 'react-dom';
|
import ReactDOM from 'react-dom';
|
||||||
|
import { MemoryRouter } from 'react-router-dom';
|
||||||
import Users from './Users';
|
import Users from './Users';
|
||||||
|
|
||||||
it('renders without crashing', () => {
|
it('renders without crashing', () => {
|
||||||
const div = document.createElement('div');
|
const div = document.createElement('div');
|
||||||
ReactDOM.render(<Users />, div);
|
ReactDOM.render(<MemoryRouter><Users /></MemoryRouter>, div);
|
||||||
ReactDOM.unmountComponentAtNode(div);
|
ReactDOM.unmountComponentAtNode(div);
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user