add chai-enzyme; add/improve Avatar component specs

This commit is contained in:
Kai Schaper 2016-10-12 18:06:18 +02:00
parent 2ddf4e09f9
commit b113cf97fb
3 changed files with 23 additions and 4 deletions

View file

@ -15,6 +15,7 @@
"browserify": "^13.1.0", "browserify": "^13.1.0",
"browserify-incremental": "^3.1.1", "browserify-incremental": "^3.1.1",
"chai": "^3.5.0", "chai": "^3.5.0",
"chai-enzyme": "^0.5.2",
"enzyme": "^2.4.1", "enzyme": "^2.4.1",
"es6-promise": "^3.2.1", "es6-promise": "^3.2.1",
"immutable": "^3.8.1", "immutable": "^3.8.1",

View file

@ -4,9 +4,23 @@ import { render } from 'enzyme';
import Avatar from '../../../app/assets/javascripts/components/components/avatar' import Avatar from '../../../app/assets/javascripts/components/components/avatar'
describe('<Avatar />', () => { describe('<Avatar />', () => {
it('renders an img with the given src', () => { const src = '/path/to/image.jpg';
const src = '/path/to/image.jpg'; const size = 100;
const wrapper = render(<Avatar src={src} size={100} />); const wrapper = render(<Avatar src={src} size={100} />);
expect(wrapper.find(`img[src="${src}"]`)).to.have.length(1);
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`);
});
}); });
}); });

View file

@ -1,3 +1,7 @@
import chai from 'chai';
import chaiEnzyme from 'chai-enzyme';
chai.use(chaiEnzyme());
/** /**
* http://airbnb.io/enzyme/docs/guides/jsdom.html * http://airbnb.io/enzyme/docs/guides/jsdom.html
*/ */