UNPKG

d2-ui

Version:
67 lines (54 loc) 2.14 kB
'use strict' import { React, TestUtils, expect, chai, spies, defaultProps } from '../config' import ReactDOM from 'react-dom' import ChromeFieldsComponent from '../../src/components/chrome/ChromeFields' var props describe('ChromeFields', () => { beforeEach(() => { props = defaultProps }) it('should change state.view to hex when alpha is 1', () => { const ChromeFields = TestUtils.renderIntoDocument(<ChromeFieldsComponent {...props} />) expect(ChromeFields.state.view).to.eql('hex') }) it('should return hex when handleChange is fired', () => { props.onChange = chai.spy((data) => { expect(data.hex).to.eql('#333') }) const ChromeFields = TestUtils.renderIntoDocument(<ChromeFieldsComponent {...props} />) ChromeFields.handleChange({ hex: '#333' }) expect(props.onChange).to.have.been.called }) it('should return objects that are keyed with the color key when handleChange is fired', () => { props.onChange = chai.spy((data) => { expect(data).to.eql({ h: 150, s: 0.5, l: 0.2, a: 0.5, source: 'rgb', }) }) const ChromeFields = TestUtils.renderIntoDocument(<ChromeFieldsComponent {...props} />) ChromeFields.handleChange({ a: 0.5 }) expect(props.onChange).to.have.been.called }) it('should shuffle through view value when clicking on toggle', () => { const ChromeFields = TestUtils.renderIntoDocument(<ChromeFieldsComponent {...props} />) const toggle = ChromeFields.refs.icon expect(ChromeFields.state.view).to.eql('hex') TestUtils.Simulate.click(toggle) expect(ChromeFields.state.view).to.eql('rgb') TestUtils.Simulate.click(toggle) expect(ChromeFields.state.view).to.eql('hsl') TestUtils.Simulate.click(toggle) expect(ChromeFields.state.view).to.eql('hex') }) it('should change state.view to rgb if the props change and alpha isn’t 1', () => { props.hsl.a = .5 props.hsv.a = .5 props.rgb.a = .5 const ChromeFields = TestUtils.renderIntoDocument(<ChromeFieldsComponent {...props} />) expect(ChromeFields.state.view).to.eql('rgb') }) })