commit
8d8ef18bb6
@ -0,0 +1,12 @@ |
||||
import { expect } from 'chai'; |
||||
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); |
||||
}); |
||||
}); |
@ -0,0 +1,14 @@ |
||||
import { expect } from 'chai'; |
||||
import { shallow } from 'enzyme'; |
||||
import sinon from 'sinon'; |
||||
|
||||
import Button from '../../../app/assets/javascripts/components/components/button' |
||||
|
||||
describe('<Button />', () => { |
||||
it('simulates click events', () => { |
||||
const onClick = sinon.spy(); |
||||
const wrapper = shallow(<Button onClick={onClick} />); |
||||
wrapper.find('button').simulate('click'); |
||||
expect(onClick.calledOnce).to.equal(true); |
||||
}); |
||||
}); |
@ -0,0 +1,11 @@ |
||||
import { expect } from 'chai'; |
||||
import { shallow } from 'enzyme'; |
||||
|
||||
import LoadingIndicator from '../../../app/assets/javascripts/components/components/loading_indicator' |
||||
|
||||
describe('<LoadingIndicator />', () => { |
||||
it('renders text that indicates loading', () => { |
||||
const wrapper = shallow(<LoadingIndicator />); |
||||
expect(wrapper.text()).to.match(/loading/i); |
||||
}); |
||||
}); |
@ -0,0 +1,22 @@ |
||||
/** |
||||
* http://airbnb.io/enzyme/docs/guides/jsdom.html
|
||||
*/ |
||||
var jsdom = require('jsdom').jsdom; |
||||
|
||||
var exposedProperties = ['window', 'navigator', 'document']; |
||||
|
||||
global.document = jsdom(''); |
||||
global.window = document.defaultView; |
||||
Object.keys(document.defaultView).forEach((property) => { |
||||
if (typeof global[property] === 'undefined') { |
||||
exposedProperties.push(property); |
||||
global[property] = document.defaultView[property]; |
||||
} |
||||
}); |
||||
|
||||
global.navigator = { |
||||
userAgent: 'node.js' |
||||
}; |
||||
|
||||
var React = window.React = global.React = require('react'); |
||||
var ReactDOM = window.ReactDOM = global.ReactDOM = require('react-dom'); |
Loading…
Reference in new issue