commit: ab7cb80dd53dd9be14e6173f3c008791b0c35b9f
parent: 7a6d95f70ccb12d61355ecd677eff40dd13260b7
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Fri, 14 Oct 2016 02:30:08 +0200
Merge branch 'kschaper-avatar-component-testing' into development
Diffstat:
3 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/package.json b/package.json
@@ -15,6 +15,7 @@
"browserify": "^13.1.0",
"browserify-incremental": "^3.1.1",
"chai": "^3.5.0",
+ "chai-enzyme": "^0.5.2",
"enzyme": "^2.4.1",
"es6-promise": "^3.2.1",
"immutable": "^3.8.1",
diff --git a/spec/javascript/components/avatar.test.jsx b/spec/javascript/components/avatar.test.jsx
@@ -4,9 +4,23 @@ import { render } from 'enzyme';
import Avatar from '../../../app/assets/javascripts/components/components/avatar'
describe('<Avatar />', () => {
- it('renders an img with the given src', () => {
- const src = '/path/to/image.jpg';
- const wrapper = render(<Avatar src={src} size={100} />);
- expect(wrapper.find(`img[src="${src}"]`)).to.have.length(1);
+ const src = '/path/to/image.jpg';
+ const size = 100;
+ const wrapper = render(<Avatar src={src} size={size} />);
+
+ it('renders an img element with the given src', () => {
+ expect(wrapper.find('img')).to.have.attr('src', `${src}`);
+ });
+
+ it('renders an img element of the given size', () => {
+ ['width', 'height'].map((attr) => {
+ expect(wrapper.find('img')).to.have.attr(attr, `${size}`);
+ });
+ });
+
+ it('renders a div element of the given size', () => {
+ ['width', 'height'].map((attr) => {
+ expect(wrapper.find('div')).to.have.style(attr, `${size}px`);
+ });
});
});
diff --git a/spec/javascript/setup.js b/spec/javascript/setup.js
@@ -1,3 +1,7 @@
+import chai from 'chai';
+import chaiEnzyme from 'chai-enzyme';
+chai.use(chaiEnzyme());
+
/**
* http://airbnb.io/enzyme/docs/guides/jsdom.html
*/