2017-01-26 20:05:32 +03:00
|
|
|
/* eslint-disable */
|
2015-11-04 22:20:00 +03:00
|
|
|
import expect from 'expect';
|
2016-05-25 01:25:43 +03:00
|
|
|
import React from 'react';
|
|
|
|
import ReactDOM from 'react-dom';
|
|
|
|
import TestUtils from 'react-addons-test-utils';
|
2017-01-05 04:42:18 +03:00
|
|
|
import theme from '../theme.css';
|
2016-05-25 01:25:43 +03:00
|
|
|
import Button, { Button as RawButton } from '../Button';
|
2015-11-04 22:20:00 +03:00
|
|
|
|
2016-05-25 01:25:43 +03:00
|
|
|
const getRenderedClassName = (tree, Component) => {
|
|
|
|
const rendered = TestUtils.findRenderedComponentWithType(tree, Component);
|
|
|
|
return ReactDOM.findDOMNode(rendered).getAttribute('class');
|
|
|
|
};
|
2015-11-04 22:20:00 +03:00
|
|
|
|
2017-01-26 20:05:32 +03:00
|
|
|
describe('Button', () => {
|
|
|
|
describe('#render', () => {
|
|
|
|
it('uses flat and neutral styles by default', () => {
|
2016-05-25 01:25:43 +03:00
|
|
|
const tree = TestUtils.renderIntoDocument(<Button theme={theme} />);
|
|
|
|
const className = getRenderedClassName(tree, RawButton);
|
|
|
|
expect(className).toContain(theme.flat);
|
|
|
|
expect(className).toContain(theme.neutral);
|
2015-11-04 22:20:00 +03:00
|
|
|
});
|
|
|
|
|
2017-01-26 20:05:32 +03:00
|
|
|
it('renders accent button with accent style', () => {
|
2016-05-25 01:25:43 +03:00
|
|
|
const tree = TestUtils.renderIntoDocument(<Button accent theme={theme} />);
|
|
|
|
const className = getRenderedClassName(tree, RawButton);
|
|
|
|
expect(className).toContain(theme.flat);
|
|
|
|
expect(className).toContain(theme.accent);
|
2015-11-04 22:20:00 +03:00
|
|
|
});
|
|
|
|
|
2017-01-26 20:05:32 +03:00
|
|
|
it('renders mini button with mini style', () => {
|
2016-05-25 01:25:43 +03:00
|
|
|
const tree = TestUtils.renderIntoDocument(<Button floating mini theme={theme} />);
|
|
|
|
const className = getRenderedClassName(tree, RawButton);
|
|
|
|
expect(className).toContain(theme.floating);
|
|
|
|
expect(className).toContain(theme.neutral);
|
|
|
|
expect(className).toContain(theme.mini);
|
2015-11-04 22:20:00 +03:00
|
|
|
});
|
|
|
|
|
2017-01-26 20:05:32 +03:00
|
|
|
it('renders mini accented button with both styles', () => {
|
2016-05-25 01:25:43 +03:00
|
|
|
const tree = TestUtils.renderIntoDocument(<Button accent mini theme={theme} />);
|
|
|
|
const className = getRenderedClassName(tree, RawButton);
|
|
|
|
expect(className).toContain(theme.flat);
|
|
|
|
expect(className).toContain(theme.accent);
|
|
|
|
expect(className).toContain(theme.mini);
|
2015-11-04 22:20:00 +03:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|