Browse Source

add chai-enzyme; add/improve Avatar component specs

pull/4/head
Kai Schaper 6 years ago
parent
commit
b113cf97fb
3 changed files with 23 additions and 4 deletions
  1. +1
    -0
      package.json
  2. +18
    -4
      spec/javascript/components/avatar.test.jsx
  3. +4
    -0
      spec/javascript/setup.js

+ 1
- 0
package.json View File

@ -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",

+ 18
- 4
spec/javascript/components/avatar.test.jsx View File

@ -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`);
});
});
});

+ 4
- 0
spec/javascript/setup.js 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
*/

Loading…
Cancel
Save