diff --git a/package.json b/package.json
index 347614f1..00edfca9 100644
--- a/package.json
+++ b/package.json
@@ -32,9 +32,12 @@
"react": "16.x"
},
"devDependencies": {
+ "enzyme": "^3.3.0",
+ "enzyme-adapter-react-16": "^1.1.1",
"nwb": "0.21.x",
"react": "^16.2.0",
- "react-dom": "^16.2.0"
+ "react-dom": "^16.2.0",
+ "sinon": "^4.4.9"
},
"author": "Ćukasz Holeczek",
"homepage": "http://coreui.io",
@@ -47,10 +50,10 @@
"url": "https://github.com/coreui/coreui-react/issues"
},
"keywords": [
- "coreui",
- "react",
- "bootstrap",
- "framework",
- "responsive"
+ "coreui",
+ "react",
+ "bootstrap",
+ "framework",
+ "responsive"
]
}
diff --git a/tests/Aside.test.js b/tests/Aside.test.js
index e772b1af..17ae37ef 100644
--- a/tests/Aside.test.js
+++ b/tests/Aside.test.js
@@ -2,11 +2,23 @@ import expect from 'expect'
import React from 'react'
import {renderToStaticMarkup as render} from 'react-dom/server'
+import { configure, mount } from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
+import { spy } from 'sinon'
+
import AppAside from 'src/Aside'
+configure({ adapter: new Adapter() });
+
describe('AppAside', () => {
it('renders aside with class="aside-menu"', () => {
- expect(render())
- .toContain('')
- })
+ expect(render(aside))
+ .toContain('')
+ });
+ it('calls componentDidMount', () => {
+ spy(AppAside.prototype, 'componentDidMount');
+
+ const wrapper = mount();
+ expect(AppAside.prototype.componentDidMount.calledOnce).toEqual(true);
+ });
})
\ No newline at end of file
diff --git a/tests/Footer.test.js b/tests/Footer.test.js
index ae1055e5..e874ec4a 100644
--- a/tests/Footer.test.js
+++ b/tests/Footer.test.js
@@ -2,11 +2,23 @@ import expect from 'expect'
import React from 'react'
import {renderToStaticMarkup as render} from 'react-dom/server'
+import { configure, mount } from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
+import { spy } from 'sinon'
+
import AppFooter from 'src/Footer'
+configure({ adapter: new Adapter() });
+
describe('AppFooter', () => {
it('renders footer with class="app-footer"', () => {
expect(render())
.toContain('')
- })
+ });
+ it('calls componentDidMount', () => {
+ spy(AppFooter.prototype, 'componentDidMount');
+
+ const wrapper = mount();
+ expect(AppFooter.prototype.componentDidMount.calledOnce).toEqual(true);
+ });
})
\ No newline at end of file
diff --git a/tests/Header.test.js b/tests/Header.test.js
index 6ae425f8..12d0a863 100644
--- a/tests/Header.test.js
+++ b/tests/Header.test.js
@@ -2,11 +2,23 @@ import expect from 'expect'
import React from 'react'
import {renderToStaticMarkup as render} from 'react-dom/server'
+import { configure, mount } from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
+import { spy } from 'sinon'
+
import AppHeader from 'src/Header'
+configure({ adapter: new Adapter() });
+
describe('AppHeader', () => {
it('renders header with class="app-header"', () => {
- expect(render())
+ expect(render())
.toContain('')
- })
+ });
+ it('calls componentDidMount', () => {
+ spy(AppHeader.prototype, 'componentDidMount');
+
+ const wrapper = mount();
+ expect(AppHeader.prototype.componentDidMount.calledOnce).toEqual(true);
+ });
})
\ No newline at end of file
diff --git a/tests/NavbarBrand.test.js b/tests/NavbarBrand.test.js
index 5777e639..9e22035e 100644
--- a/tests/NavbarBrand.test.js
+++ b/tests/NavbarBrand.test.js
@@ -1,12 +1,17 @@
-import expect from 'expect'
-import React from 'react'
-import {renderToStaticMarkup as render} from 'react-dom/server'
+import expect from 'expect';
+import React from 'react';
+import { renderToStaticMarkup as render } from 'react-dom/server';
-import AppNavbarBrand from 'src/NavbarBrand'
+import logo from '../demo/src/assets/img/brand/logo.svg'
+import sygnet from '../demo/src/assets/img/brand/sygnet.svg'
+
+import AppNavbarBrand from 'src/NavbarBrand';
describe('AppNavbarBrand', () => {
it('renders anchor with class="navbar-brand"', () => {
- expect(render())
- .toContain('')
- })
-})
\ No newline at end of file
+ expect(render()).toContain('class="navbar-brand"');
+ });
+});
\ No newline at end of file
diff --git a/tests/Sidebar.test.js b/tests/Sidebar.test.js
index 1f4fc353..e97cef93 100644
--- a/tests/Sidebar.test.js
+++ b/tests/Sidebar.test.js
@@ -2,11 +2,23 @@ import expect from 'expect'
import React from 'react'
import {renderToStaticMarkup as render} from 'react-dom/server'
+import { configure, mount } from 'enzyme'
+import Adapter from 'enzyme-adapter-react-16'
+import { spy } from 'sinon'
+
import AppSidebar from 'src/Sidebar'
+configure({ adapter: new Adapter() });
+
describe('AppSidebar', () => {
it('renders sidebar with class="sidebar"', () => {
- expect(render())
+ expect(render())
.toContain('
')
- })
+ });
+ it('calls componentDidMount', () => {
+ spy(AppSidebar.prototype, 'componentDidMount');
+
+ const wrapper = mount();
+ expect(AppSidebar.prototype.componentDidMount.calledOnce).toEqual(true);
+ });
})
\ No newline at end of file
diff --git a/tests/SidebarToggler.test.js b/tests/SidebarToggler.test.js
index a2e3ea73..ed1409a6 100644
--- a/tests/SidebarToggler.test.js
+++ b/tests/SidebarToggler.test.js
@@ -6,7 +6,7 @@ import AppSidebarToggler from 'src/SidebarToggler';
describe('AppSidebarToggler', () => {
it('renders button with class="navbar-toggler"', () => {
- expect(render())
- .toContain('')
+ expect(render())
+ .toContain('')
})
})
\ No newline at end of file