Skip to content

Commit 63256cc

Browse files
committed
tests: more coverage and clicks
1 parent f1f9b59 commit 63256cc

6 files changed

+85
-12
lines changed

Diff for: tests/AsideToggler.test.js

+23-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,33 @@ import expect from 'expect'
22
import React from 'react'
33
import {renderToStaticMarkup as render} from 'react-dom/server'
44

5+
import { configure, mount } from 'enzyme'
6+
import Adapter from 'enzyme-adapter-react-16'
7+
import sinon from 'sinon';
8+
59
import AppAsideToggler from 'src/AsideToggler'
610

11+
configure({ adapter: new Adapter() });
12+
713
describe('AppAsideToggler', () => {
814
it('renders button with class="navbar-toggler"', () => {
915
expect(render(<AppAsideToggler />))
1016
.toContain('<button type="button" class="navbar-toggler"><span class="navbar-toggler-icon"></span></button>')
1117
})
12-
})
18+
it('should call asideToggle', () => {
19+
let component = mount(<AppAsideToggler />);
20+
const instance = component.instance();
21+
const handleClickSpy = sinon.spy(instance, 'asideToggle');
22+
component.find('button').simulate('click');
23+
24+
expect(handleClickSpy.called).toBe(true);
25+
})
26+
it('should call asideToggle mobile', () => {
27+
let component = mount(<AppAsideToggler mobile/>);
28+
const instance = component.instance();
29+
const handleClickSpy = sinon.spy(instance, 'asideToggle');
30+
component.find('button').simulate('click');
31+
32+
expect(handleClickSpy.called).toBe(true);
33+
})
34+
})

Diff for: tests/HeaderDropdown.test.js

+17-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,25 @@ import expect from 'expect'
22
import React from 'react'
33
import {renderToStaticMarkup as render} from 'react-dom/server'
44

5+
import { configure, mount } from 'enzyme'
6+
import Adapter from 'enzyme-adapter-react-16'
7+
58
import AppHeaderDropdown from 'src/HeaderDropdown'
9+
import sinon from 'sinon';
10+
11+
configure({ adapter: new Adapter() });
612

713
describe('AppHeaderDropdown', () => {
814
it('renders li with class="dropdown nav-item"', () => {
9-
expect(render(<AppHeaderDropdown />))
10-
.toContain('<li class="dropdown nav-item"></li>')
15+
expect(render(<AppHeaderDropdown />)).toContain('<li class="dropdown nav-item"></li>')
16+
})
17+
it('dropdownOpen changed on toggle', () => {
18+
19+
let component = mount(<AppHeaderDropdown />);
20+
const instance = component.instance();
21+
22+
expect(instance.state.dropdownOpen).toBe(false);
23+
instance.toggle();
24+
expect(instance.state.dropdownOpen).toBe(true);
1125
})
12-
})
26+
})

Diff for: tests/NavbarBrand.test.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ import AppNavbarBrand from 'src/NavbarBrand';
1010
describe('AppNavbarBrand', () => {
1111
it('renders anchor with class="navbar-brand"', () => {
1212
expect(render(<AppNavbarBrand
13-
full={{ src: logo, width: 89, height: 25, alt: 'CoreUI Logo' }}
14-
minimized={{ src: sygnet, width: 30, height: 30, alt: 'CoreUI Logo' }}
13+
brand={{ src: logo, width: 89, height: 25, alt: 'CoreUI Brand' }}
14+
full={{ src: logo, width: 89, height: 25, alt: 'CoreUI Full' }}
15+
minimized={{ src: sygnet, width: 30, height: 30, alt: 'CoreUI Minimized' }}
1516
/>)).toContain('class="navbar-brand"');
1617
});
17-
});
18+
});

Diff for: tests/Sidebar.test.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ describe('AppSidebar', () => {
1818
it('calls componentDidMount', () => {
1919
spy(AppSidebar.prototype, 'componentDidMount');
2020

21-
const wrapper = mount(<AppSidebar fixed display="lg" />);
22-
expect(AppSidebar.prototype.componentDidMount.calledOnce).toEqual(true);
21+
const wrapper = mount(<AppSidebar fixed display="lg" compact minimized offCanvas />);
22+
expect(AppSidebar.prototype.componentDidMount.calledOnce).toBe(true);
2323
});
24-
})
24+
})

Diff for: tests/SidebarMinimizer.test.js

+15-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,25 @@ import expect from 'expect'
22
import React from 'react'
33
import {renderToStaticMarkup as render} from 'react-dom/server'
44

5+
import { configure, mount } from 'enzyme'
6+
import Adapter from 'enzyme-adapter-react-16'
7+
import sinon from 'sinon';
8+
59
import AppSidebarMinimizer from 'src/SidebarMinimizer'
610

11+
configure({ adapter: new Adapter() });
12+
713
describe('AppSidebarMinimizer', () => {
814
it('renders button with class="sidebar-minimizer"', () => {
915
expect(render(<AppSidebarMinimizer></AppSidebarMinimizer>))
1016
.toContain('<button class="sidebar-minimizer mt-auto" type="button"></button>')
1117
})
12-
})
18+
it('should call handleClick', () => {
19+
let component = mount(<AppSidebarMinimizer />);
20+
const instance = component.instance();
21+
const handleClickSpy = sinon.spy(instance, 'handleClick');
22+
component.find('button').simulate('click');
23+
24+
expect(handleClickSpy.called).toBe(true);
25+
})
26+
})

Diff for: tests/SidebarToggler.test.js

+23-1
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,33 @@ import expect from 'expect'
22
import React from 'react'
33
import {renderToStaticMarkup as render} from 'react-dom/server'
44

5+
import { configure, mount } from 'enzyme'
6+
import Adapter from 'enzyme-adapter-react-16'
7+
import sinon from 'sinon';
8+
59
import AppSidebarToggler from 'src/SidebarToggler';
610

11+
configure({ adapter: new Adapter() });
12+
713
describe('AppSidebarToggler', () => {
814
it('renders button with class="navbar-toggler"', () => {
915
expect(render(<AppSidebarToggler className="d-lg-none" display="md" mobile />))
1016
.toContain('<button type="button" class="d-lg-none navbar-toggler"><span class="navbar-toggler-icon"></span></button>')
1117
})
12-
})
18+
it('should call sidebarToggle', () => {
19+
let component = mount(<AppSidebarToggler />);
20+
const instance = component.instance();
21+
const handleClickSpy = sinon.spy(instance, 'sidebarToggle');
22+
component.find('button').simulate('click');
23+
24+
expect(handleClickSpy.called).toBe(true);
25+
})
26+
it('should call sidebarToggle mobile', () => {
27+
let component = mount(<AppSidebarToggler mobile />);
28+
const instance = component.instance();
29+
const handleClickSpy = sinon.spy(instance, 'sidebarToggle');
30+
component.find('button').simulate('click');
31+
32+
expect(handleClickSpy.called).toBe(true);
33+
})
34+
})

0 commit comments

Comments
 (0)