about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--package.json1
-rw-r--r--spec/javascript/components/avatar.test.jsx22
-rw-r--r--spec/javascript/setup.js4
3 files changed, 23 insertions, 4 deletions
diff --git a/package.json b/package.json
index 133244650..3d1878e15 100644
--- 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
index 79b7d02f4..a0f67e700 100644
--- 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={100} />);
+
+  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
index 636cdcc7e..0d07f74d8 100644
--- 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
  */