UNPKG

@figlinq/react-chart-editor

Version:
2 lines 3.84 kB
const _excluded=["attr"];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}import DataSelector from"../DataSelector";import DropdownWidget from"../../widgets/Dropdown";import{TestEditor,fixtures,plotly}from"../../../lib/test-utils";import connectTraceToPlot from"../../../lib/connectTraceToPlot";import{mount}from"enzyme";import{jsx as _jsx}from"react/jsx-runtime";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({},fixtures.scatter()),{},{onUpdate:jest.fn()},props);return mount(_jsx(TestEditor,_objectSpread(_objectSpread({},editorProps),{},{plotly:plotly,children:children}))).find(`[attr="${attr}"]`).last()}describe("DataSelector",()=>{it("contains options defined by dataSources",()=>{const{dataSources}=fixtures.scatter();const wrapper=render({dataSources}).find(DropdownWidget);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(DropdownWidget);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(DropdownWidget);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(DropdownWidget);expect(wrapper.exists()).toBe(true);wrapper=render(_objectSpread(_objectSpread({},fixtures.pie()),{},{attr:"x"})).find(DropdownWidget);expect(wrapper.exists()).toBe(false)});it("uses trace specific label",()=>{const TraceDataSelector=connectTraceToPlot(DataSelector);const wrapper=render({},_jsx(TraceDataSelector,{traceIndexes:[0],label:{pie:"hodor","*":"rodoh"},attr:"x"}));expect(wrapper.find(".field__title-text").text()).toContain("rodoh")})}); //# sourceMappingURL=DataSelector-test.js.map