diff --git a/src/App.test.js b/src/App.test.js
index 11afb31..7af377d 100644
--- a/src/App.test.js
+++ b/src/App.test.js
@@ -1,20 +1,9 @@
-// import React from 'react';
-// import ReactDOM from 'react-dom';
-// import App from './App';
-//
-// jest.mock('react-chartjs-2', () => ({
-// Line: () => null,
-// Polar: () => null,
-// Pie: () => null,
-// Radar: () => null,
-// Bar: () => null,
-// Doughnut: () => null,
-// }));
+import React from 'react';
+import {shallow} from 'enzyme/build';
+import App from './App';
-// it('renders without crashing', () => {
-// const div = document.createElement('div');
-// ReactDOM.render(, div);
-// ReactDOM.unmountComponentAtNode(div);
-// });
-it('', () => {})
+it('mounts without crashing', () => {
+ const wrapper = shallow();
+ wrapper.unmount()
+});
diff --git a/src/views/Base/Collapses/Collapses.js b/src/views/Base/Collapses/Collapses.js
index 0fd28c2..aab9258 100644
--- a/src/views/Base/Collapses/Collapses.js
+++ b/src/views/Base/Collapses/Collapses.js
@@ -103,7 +103,8 @@ class Collapses extends Component {
-
+
+
Current state: {this.state.status}
@@ -122,7 +123,7 @@ class Collapses extends Component {
-
+
diff --git a/src/views/Base/Collapses/Collapses.test.js b/src/views/Base/Collapses/Collapses.test.js
index 0a6cf6d..80d5434 100644
--- a/src/views/Base/Collapses/Collapses.test.js
+++ b/src/views/Base/Collapses/Collapses.test.js
@@ -1,9 +1,73 @@
import React from 'react';
import ReactDOM from 'react-dom';
import Collapses from './Collapses';
+import {mount} from 'enzyme/build';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+
+describe('toggle clicks', function() {
+ it('collapse without crashing', () => {
+ const wrapper = mount();
+ let collapse = wrapper.find('#toggleCollapse1').at(0);
+ collapse.simulate('click');
+ expect(wrapper.state().collapse).toEqual(true);
+ collapse.simulate('click');
+ expect(wrapper.state().collapse).toEqual(false);
+ collapse.simulate('click');
+ expect(wrapper.state().collapse).toEqual(true);
+ wrapper.unmount()
+ });
+ it('fade without crashing', () => {
+ const wrapper = mount();
+ let fade = wrapper.find('#toggleFade1').at(0);
+ fade.simulate('click');
+ expect(wrapper.state().fadeIn).toEqual(false);
+ fade.simulate('click');
+ expect(wrapper.state().fadeIn).toEqual(true);
+ wrapper.unmount()
+ });
+ it('accordion without crashing', () => {
+ const wrapper = mount();
+ let accordion = wrapper.find('[aria-controls="collapseOne"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().accordion[0]).toEqual(false);
+ expect(wrapper.state().accordion[1]).toEqual(false);
+ expect(wrapper.state().accordion[2]).toEqual(false);
+ accordion = wrapper.find('[aria-controls="collapseTwo"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().accordion[0]).toEqual(false);
+ expect(wrapper.state().accordion[1]).toEqual(true);
+ expect(wrapper.state().accordion[2]).toEqual(false);
+ accordion = wrapper.find('[aria-controls="collapseThree"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().accordion[0]).toEqual(false);
+ expect(wrapper.state().accordion[1]).toEqual(false);
+ expect(wrapper.state().accordion[2]).toEqual(true);
+ accordion = wrapper.find('[aria-controls="collapseOne"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().accordion[0]).toEqual(true);
+ expect(wrapper.state().accordion[1]).toEqual(false);
+ expect(wrapper.state().accordion[2]).toEqual(false);
+ wrapper.unmount()
+ });
+ it('custom without crashing', () => {
+ const wrapper = mount();
+ let accordion = wrapper.find('[aria-controls="exampleAccordion1"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().custom[0]).toEqual(false);
+ expect(wrapper.state().custom[1]).toEqual(false);
+ accordion = wrapper.find('[aria-controls="exampleAccordion1"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().custom[0]).toEqual(true);
+ expect(wrapper.state().custom[1]).toEqual(false);
+ accordion = wrapper.find('[aria-controls="exampleAccordion2"]').at(0);
+ accordion.simulate('click');
+ expect(wrapper.state().custom[0]).toEqual(false);
+ expect(wrapper.state().custom[1]).toEqual(true);
+ wrapper.unmount()
+ });
+});
diff --git a/src/views/Base/Dropdowns/Dropdowns.test.js b/src/views/Base/Dropdowns/Dropdowns.test.js
index fa26163..ecc269f 100644
--- a/src/views/Base/Dropdowns/Dropdowns.test.js
+++ b/src/views/Base/Dropdowns/Dropdowns.test.js
@@ -7,6 +7,8 @@ it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
+});
+it('toggle click without crashing', () => {
const wrapper = mount();
for (let i=0; i<5; i++) {
let Dropdown = wrapper.find('button.dropdown-toggle').at(i);
diff --git a/src/views/Base/Forms/Forms.test.js b/src/views/Base/Forms/Forms.test.js
index bb2396a..952f0a9 100644
--- a/src/views/Base/Forms/Forms.test.js
+++ b/src/views/Base/Forms/Forms.test.js
@@ -1,9 +1,39 @@
import React from 'react';
import ReactDOM from 'react-dom';
import Forms from './Forms';
+import {mount} from 'enzyme/build';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+
+describe('toggle clicks', function() {
+ it('dropdowns without crashing', () => {
+ const wrapper = mount();
+ for (let i = 0; i < 4; i++) {
+ let count = i === 0 ? 'first' : i === 1 ? 'second' : i === 2 ? 'third' : 'fourth'
+ let Dropdown = wrapper.find('button.dropdown-toggle').at(i);
+ Dropdown.simulate('click');
+ expect(wrapper.state()[count]).toEqual(true);
+ }
+ wrapper.unmount()
+ });
+ it('collapse without crashing', () => {
+ const wrapper = mount();
+ let collapse = wrapper.find('button.btn-minimize').at(0);
+ collapse.simulate('click');
+ expect(wrapper.state().collapse).toEqual(false);
+ collapse.simulate('click');
+ expect(wrapper.state().collapse).toEqual(true);
+ wrapper.unmount()
+ });
+ it('fade without crashing', () => {
+ const wrapper = mount();
+ let fade = wrapper.find('button.btn-close').at(0);
+ fade.simulate('click');
+ expect(wrapper.state().fadeIn).toEqual(false);
+ wrapper.unmount()
+ });
+})
diff --git a/src/views/Base/ListGroups/ListGroups.test.js b/src/views/Base/ListGroups/ListGroups.test.js
index 9923f32..6b9f398 100644
--- a/src/views/Base/ListGroups/ListGroups.test.js
+++ b/src/views/Base/ListGroups/ListGroups.test.js
@@ -1,9 +1,19 @@
import React from 'react';
import ReactDOM from 'react-dom';
import ListGroups from './ListGroups';
+import {mount} from 'enzyme/build';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+it('toggle click without crashing', () => {
+ const wrapper = mount();
+ for (let i=0; i<4; i++) {
+ let ListGroup = wrapper.find('#list-tab .list-group-item-action.list-group-item').at(i);
+ ListGroup.simulate('click');
+ expect(wrapper.state().activeTab).toEqual(i);
+ }
+ wrapper.unmount()
+});
diff --git a/src/views/Base/Navs/Navs.test.js b/src/views/Base/Navs/Navs.test.js
index 3193dab..d00d930 100644
--- a/src/views/Base/Navs/Navs.test.js
+++ b/src/views/Base/Navs/Navs.test.js
@@ -1,9 +1,19 @@
import React from 'react';
import ReactDOM from 'react-dom';
import Navs from './Navs';
+import {mount} from 'enzyme/build';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+it('toggle click without crashing', () => {
+ const wrapper = mount();
+ for (let i=0; i<2; i++) {
+ let Nav = wrapper.find('a.dropdown-toggle').at(i);
+ Nav.simulate('click');
+ expect(wrapper.state().dropdownOpen[i]).toEqual(true);
+ }
+ wrapper.unmount()
+});
diff --git a/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.js b/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.js
index 337fcb5..4bc5243 100644
--- a/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.js
+++ b/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.js
@@ -205,7 +205,7 @@ class ButtonDropdowns extends Component {
Dropdown directions
- { this.toggle(15); }}>
+ { this.toggle(13); }}>
Direction Up
@@ -216,7 +216,7 @@ class ButtonDropdowns extends Component {
Another Action
- { this.toggle(16); }}>
+ { this.toggle(14); }}>
Direction Left
@@ -227,7 +227,7 @@ class ButtonDropdowns extends Component {
Another Action
- { this.toggle(17); }}>
+ { this.toggle(15); }}>
Direction Right
@@ -238,7 +238,7 @@ class ButtonDropdowns extends Component {
Another Action
- { this.toggle(18); }}>
+ { this.toggle(16); }}>
Default Down
@@ -256,7 +256,7 @@ class ButtonDropdowns extends Component {
Button Dropdown sizing
- { this.toggle(13); }}>
+ { this.toggle(17); }}>
Large Button
@@ -267,7 +267,7 @@ class ButtonDropdowns extends Component {
Another Action
- { this.toggle(14); }}>
+ { this.toggle(18); }}>
Small Button
diff --git a/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.test.js b/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.test.js
index 9c44fb1..26d3c61 100644
--- a/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.test.js
+++ b/src/views/Buttons/ButtonDropdowns/ButtonDropdowns.test.js
@@ -1,5 +1,6 @@
import React from 'react';
import ReactDOM from 'react-dom';
+import { mount } from 'enzyme'
import ButtonDropdowns from './ButtonDropdowns';
it('renders without crashing', () => {
@@ -7,3 +8,13 @@ it('renders without crashing', () => {
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+it('toggle click without crashing', () => {
+ const wrapper = mount();
+ for (let i=0; i<19; i++) {
+ let ButtonDropdown = wrapper.find('button.dropdown-toggle').at(i);
+ ButtonDropdown.simulate('click');
+ expect(wrapper.state().dropdownOpen[i]).toEqual(true);
+ }
+ wrapper.unmount()
+});
+
diff --git a/src/views/Buttons/ButtonGroups/ButtonGroups.js b/src/views/Buttons/ButtonGroups/ButtonGroups.js
index 454c547..bf18225 100644
--- a/src/views/Buttons/ButtonGroups/ButtonGroups.js
+++ b/src/views/Buttons/ButtonGroups/ButtonGroups.js
@@ -66,7 +66,7 @@ class ButtonGroups extends Component {
- { this.toggle(1); }}>
+ { this.toggle(0); }}>
Dropdown
@@ -135,7 +135,7 @@ class ButtonGroups extends Component {
- { this.toggle(0); }}>
+ { this.toggle(1); }}>
Dropdown
diff --git a/src/views/Buttons/ButtonGroups/ButtonGroups.test.js b/src/views/Buttons/ButtonGroups/ButtonGroups.test.js
index 6ab857b..72186c4 100644
--- a/src/views/Buttons/ButtonGroups/ButtonGroups.test.js
+++ b/src/views/Buttons/ButtonGroups/ButtonGroups.test.js
@@ -1,9 +1,19 @@
import React from 'react';
import ReactDOM from 'react-dom';
import ButtonGroups from './ButtonGroups';
+import {mount} from 'enzyme/build';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(, div);
ReactDOM.unmountComponentAtNode(div);
});
+it('toggle click without crashing', () => {
+ const wrapper = mount();
+ for (let i=0; i<2; i++) {
+ let ButtonGroup = wrapper.find('button.dropdown-toggle').at(i);
+ ButtonGroup.simulate('click');
+ expect(wrapper.state().dropdownOpen[i]).toEqual(true);
+ }
+ wrapper.unmount()
+});