mirror of
https://github.com/apache/superset.git
synced 2026-04-20 08:34:37 +00:00
* Bumping react==16.4.1 & enzyme==3.3.0 The upgrade was pretty smooth except for a cryptic message coming out of react-select around running multiple copies of React. It turns out the `common` bundle had React and was conflicting with explore and dashboard apps, only in 16.x. This somehow wasn't a problem in 15.x outside of the wasted resources. Running 16.4 should bring in all sorts of perf improvements and features we've all been waiting for. https://reactjs.org/blog/2017/09/26/react-v16.0.html TODO: react-bootstrap-datetimepicker isn't compatible with React 16 * Trying to deprecate react-bootstrap-datetime * Moving forward * Reintroducing tests
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
/* eslint-disable no-unused-expressions */
|
|
import React from 'react';
|
|
import sinon from 'sinon';
|
|
import { expect } from 'chai';
|
|
import { describe, it } from 'mocha';
|
|
import { shallow } from 'enzyme';
|
|
import { OverlayTrigger } from 'react-bootstrap';
|
|
|
|
import AdhocMetric from '../../../../src/explore/AdhocMetric';
|
|
import AdhocMetricEditPopoverTitle from '../../../../src/explore/components/AdhocMetricEditPopoverTitle';
|
|
import { AGGREGATES } from '../../../../src/explore/constants';
|
|
|
|
const columns = [
|
|
{ type: 'VARCHAR(255)', column_name: 'source' },
|
|
{ type: 'VARCHAR(255)', column_name: 'target' },
|
|
{ type: 'DOUBLE', column_name: 'value' },
|
|
];
|
|
|
|
const sumValueAdhocMetric = new AdhocMetric({
|
|
column: columns[2],
|
|
aggregate: AGGREGATES.SUM,
|
|
});
|
|
|
|
function setup(overrides) {
|
|
const onChange = sinon.spy();
|
|
const props = {
|
|
adhocMetric: sumValueAdhocMetric,
|
|
onChange,
|
|
...overrides,
|
|
};
|
|
const wrapper = shallow(<AdhocMetricEditPopoverTitle {...props} />);
|
|
return { wrapper, onChange };
|
|
}
|
|
|
|
describe('AdhocMetricEditPopoverTitle', () => {
|
|
it('renders an OverlayTrigger wrapper with the title', () => {
|
|
const { wrapper } = setup();
|
|
expect(wrapper.find(OverlayTrigger)).to.have.lengthOf(1);
|
|
expect(wrapper.find(OverlayTrigger).find('span').text()).to.equal('My Metric\xa0');
|
|
});
|
|
|
|
it('transfers to edit mode when clicked', () => {
|
|
const { wrapper } = setup();
|
|
expect(wrapper.state('isEditable')).to.be.false;
|
|
wrapper.simulate('click');
|
|
expect(wrapper.state('isEditable')).to.be.true;
|
|
});
|
|
});
|