react-ions
Version:
An open source set of React components that implement Ambassador's Design and UX patterns.
64 lines (51 loc) • 2.05 kB
JavaScript
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Button = require('../Button');
var _Button2 = _interopRequireDefault(_Button);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('Button', function () {
var wrapper = void 0;
it('displays a button', function () {
expect(shallow(_react2.default.createElement(
_Button2.default,
{ disabled: true, optClass: 'danger', size: 'lg' },
'Test'
))).toMatchSnapshot();
});
it('displays a disabled button with a loader', function () {
expect(shallow(_react2.default.createElement(
_Button2.default,
{ loading: true },
'Test'
))).toMatchSnapshot();
});
it('hides text when collapse prop is passed', function () {
expect(shallow(_react2.default.createElement(
_Button2.default,
{ collapse: true },
'Test'
))).toMatchSnapshot();
});
it('should have an extra class', function () {
expect(shallow(_react2.default.createElement(_Button2.default, { optClass: 'test-class' }))).toMatchSnapshot();
});
it('should have extra classes', function () {
var optClasses = ['test-class', 'test-class-2', 'test-class-3'];
expect(shallow(_react2.default.createElement(_Button2.default, { size: 'lg', optClass: optClasses }))).toMatchSnapshot();
});
it('should have mouse event handlers', function () {
expect(shallow(_react2.default.createElement(
_Button2.default,
{ onClick: sinon.spy(), onMouseEnter: sinon.spy(), onMouseLeave: sinon.spy(), onMouseDown: sinon.spy(), onMouseOut: sinon.spy(), onMouseOver: sinon.spy(), onMouseUp: sinon.spy() },
'Test'
))).toMatchSnapshot();
});
it('should have touch event handlers', function () {
expect(shallow(_react2.default.createElement(
_Button2.default,
{ onTouchCancel: sinon.spy(), onTouchEnd: sinon.spy(), onTouchMove: sinon.spy(), onTouchStart: sinon.spy() },
'Test'
))).toMatchSnapshot();
});
});