Add a ColorPickerControl (#3653)

* Add a ColorPickerControl

* Tests
This commit is contained in:
Maxime Beauchemin
2017-10-15 23:38:38 -07:00
committed by GitHub
parent bad6938d1a
commit d0b5b449b2
8 changed files with 177 additions and 2 deletions

View File

@@ -0,0 +1,41 @@
/* eslint-disable no-unused-expressions */
import React from 'react';
import { expect } from 'chai';
import { describe, it, beforeEach } from 'mocha';
import { shallow } from 'enzyme';
import { OverlayTrigger } from 'react-bootstrap';
import { SketchPicker } from 'react-color';
import ColorPickerControl from
'../../../../javascripts/explore/components/controls/ColorPickerControl';
import ControlHeader from '../../../../javascripts/explore/components/ControlHeader';
const defaultProps = {
value: { },
};
describe('ColorPickerControl', () => {
let wrapper;
let inst;
beforeEach(() => {
wrapper = shallow(<ColorPickerControl {...defaultProps} />);
inst = wrapper.instance();
});
it('renders a OverlayTrigger', () => {
const controlHeader = wrapper.find(ControlHeader);
expect(controlHeader).to.have.lengthOf(1);
expect(wrapper.find(OverlayTrigger)).to.have.length(1);
});
it('renders a OverlayTrigger', () => {
const controlHeader = wrapper.find(ControlHeader);
expect(controlHeader).to.have.lengthOf(1);
expect(wrapper.find(OverlayTrigger)).to.have.length(1);
});
it('renders a Popover with a SketchPicker', () => {
const popOver = shallow(inst.renderPopover());
expect(popOver.find(SketchPicker)).to.have.lengthOf(1);
});
});

View File

@@ -0,0 +1,25 @@
/* eslint-disable no-unused-expressions */
import React from 'react';
import { expect } from 'chai';
import { describe, it, beforeEach } from 'mocha';
import { mount } from 'enzyme';
import { Creatable } from 'react-select';
import ColorSchemeControl from
'../../../../javascripts/explore/components/controls/ColorSchemeControl';
import { ALL_COLOR_SCHEMES } from '../../../../javascripts/modules/colors';
const defaultProps = {
options: Object.keys(ALL_COLOR_SCHEMES).map(s => ([s, s])),
};
describe('ColorSchemeControl', () => {
let wrapper;
beforeEach(() => {
wrapper = mount(<ColorSchemeControl {...defaultProps} />);
});
it('renders a Creatable', () => {
expect(wrapper.find(Creatable)).to.have.length(1);
});
});