@eeacms/react-chart-editor
Version:
plotly.js chart editor react component UI
2 lines • 5.05 kB
JavaScript
;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");const _excluded=["attr"];function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(function(){var enterModule=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.enterModule:undefined;enterModule&&enterModule(module)})();function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var r in t)({}).hasOwnProperty.call(t,r)&&(n[r]=t[r])}return n},_extends.apply(null,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(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==typeof i?i:i+""}function _toPrimitive(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n]}return t}var __signature__=typeof reactHotLoaderGlobal!=="undefined"?reactHotLoaderGlobal.default.signature:function(a){return a};function render(){let overrides=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};let children=arguments.length>1?arguments[1]:undefined;const{attr="x"}=overrides,props=_objectWithoutProperties(overrides,_excluded);const 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",()=>{it("contains options defined by dataSources",()=>{const{dataSources}=_testUtils.fixtures.scatter();const 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",()=>{const wrapper=render().find(_Dropdown.default);expect(wrapper.prop("value")).toBe("x1")});it("uses gd.data dataSrc value not fullValue when arrayOk",()=>{});it("calls updatePlot with srcAttr and data when present",()=>{const beforeUpdateTraces=jest.fn();const 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",()=>{let 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",()=>{const TraceDataSelector=(0,_connectTraceToPlot.default)(_DataSelector.default);const 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","/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