UNPKG

react-chart-editor

Version:

plotly.js chart editor react component UI

2 lines 5.66 kB
"use strict";var _DataSelector=_interopRequireDefault(require("../DataSelector"));var _Dropdown=_interopRequireDefault(require("../../widgets/Dropdown"));var _react=_interopRequireDefault(require("react"));var _testUtils=require("../../../lib/test-utils");var _connectTraceToPlot=_interopRequireDefault(require("../../../lib/connectTraceToPlot"));var _enzyme=require("enzyme");var _excluded=["attr"];function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}(function(){var enterModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.enterModule:undefined;enterModule&&enterModule(module)})();function _extends(){_extends=Object.assign?Object.assign.bind():function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key]}}}return target};return _extends.apply(this,arguments)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key)}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.")}return(hint==="string"?String:Number)(input)}function _objectWithoutProperties(source,excluded){if(source==null)return{};var target=_objectWithoutPropertiesLoose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _objectWithoutPropertiesLoose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};function render(){var overrides=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var children=arguments.length>1?arguments[1]:undefined;var _overrides$attr=overrides.attr,attr=_overrides$attr===void 0?"x":_overrides$attr,props=_objectWithoutProperties(overrides,_excluded);var editorProps=_objectSpread(_objectSpread({},_testUtils.fixtures.scatter()),{},{onUpdate:jest.fn()},props);return(0,_enzyme.mount)(_react.default.createElement(_testUtils.TestEditor,_extends({},editorProps,{plotly:_testUtils.plotly}),children)).find("[attr=\"".concat(attr,"\"]")).last()}describe("DataSelector",function(){it("contains options defined by dataSources",function(){var _fixtures$scatter=_testUtils.fixtures.scatter(),dataSources=_fixtures$scatter.dataSources;var wrapper=render({dataSources}).find(_Dropdown.default);expect(wrapper.prop("options")).toEqual([{label:"xCol",value:"x1"},{label:"yCol",value:"y1"},{label:"yCol2",value:"y2"}])});it("uses gd.data dataSrc value not fullValue when data_array",function(){var wrapper=render().find(_Dropdown.default);expect(wrapper.prop("value")).toBe("x1")});it("uses gd.data dataSrc value not fullValue when arrayOk",function(){});it("calls updatePlot with srcAttr and data when present",function(){var beforeUpdateTraces=jest.fn();var wrapper=render({beforeUpdateTraces}).find(_Dropdown.default);beforeUpdateTraces.mockClear();wrapper.prop("onChange")("y1");expect(beforeUpdateTraces.mock.calls[0][0]).toEqual({update:{"meta.columnNames.x":"yCol",xsrc:"y1",x:[2,3,4]},traceIndexes:[1]})});it("is invisible when a data src does not exist for trace type",function(){var wrapper=render().find(_Dropdown.default);expect(wrapper.exists()).toBe(true);wrapper=render(_objectSpread(_objectSpread({},_testUtils.fixtures.pie()),{},{attr:"x"})).find(_Dropdown.default);expect(wrapper.exists()).toBe(false)});it("uses trace specific label",function(){var TraceDataSelector=(0,_connectTraceToPlot.default)(_DataSelector.default);var wrapper=render({},_react.default.createElement(TraceDataSelector,{traceIndexes:[0],label:{pie:"hodor","*":"rodoh"},attr:"x"}));expect(wrapper.find(".field__title-text").text()).toContain("rodoh")})});;(function(){var reactHotLoader=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default:undefined;if(!reactHotLoader){return}reactHotLoader.register(render,"render","/Users/dima/plotly/react-chart-editor/src/components/fields/__tests__/DataSelector-test.js")})();;(function(){var leaveModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.leaveModule:undefined;leaveModule&&leaveModule(module)})(); //# sourceMappingURL=DataSelector-test.js.map