UNPKG

@figlinq/react-chart-editor

Version:
2 lines 3.21 kB
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)}import{AnnotationAccordion,PlotlyPanel,PlotlyFold}from"..";import{Numeric}from"../../fields";import{TestEditor,fixtures,mount}from"../../../lib/test-utils";import{connectLayoutToPlot}from"../../../lib";import{jsx as _jsx}from"react/jsx-runtime";const LayoutPanel=connectLayoutToPlot(PlotlyPanel);describe("<AnnotationAccordion>",()=>{it("generates annotation PlotlyFolds with name == text",()=>{const fixture=fixtures.scatter({layout:{annotations:[{text:"hodor"},{text:"rodoh"}]}});const folds=mount(_jsx(TestEditor,_objectSpread(_objectSpread({},_objectSpread(_objectSpread({},fixture),{},{onUpdate:jest.fn()})),{},{children:_jsx(LayoutPanel,{name:"Annotations",children:_jsx(AnnotationAccordion,{children:_jsx(Numeric,{attr:"textangle"})})})}))).find(PlotlyFold);expect(folds.length).toBe(2);expect(folds.at(0).prop("name")).toBe("hodor");expect(folds.at(1).prop("name")).toBe("rodoh")});it("can add annotations",()=>{const fixture=fixtures.scatter();const beforeUpdateLayout=jest.fn();const editor=mount(_jsx(TestEditor,_objectSpread(_objectSpread({},_objectSpread(_objectSpread({},fixture),{},{beforeUpdateLayout})),{},{children:_jsx(LayoutPanel,{name:"Annotations",children:_jsx(AnnotationAccordion,{canAdd:true,children:_jsx(Numeric,{attr:"textangle"})})})})));editor.find("button.js-add-button").simulate("click");const payload=beforeUpdateLayout.mock.calls[0][0];expect(payload.update).toEqual({"annotations[0]":{text:"new text"}})});it("can delete annotations",()=>{const fixture=fixtures.scatter({layout:{annotations:[{text:"hodor"},{text:"rodoh"}]}});const beforeDeleteAnnotation=jest.fn();const editor=mount(_jsx(TestEditor,_objectSpread(_objectSpread({},_objectSpread(_objectSpread({},fixture),{},{beforeDeleteAnnotation})),{},{children:_jsx(LayoutPanel,{name:"Annotations",children:_jsx(AnnotationAccordion,{canAdd:true,children:_jsx(Numeric,{attr:"textangle"})})})})));editor.find(".js-fold__delete").at(0).simulate("click");const update=beforeDeleteAnnotation.mock.calls[0][0];expect(update.annotationIndex).toBe(0)})}); //# sourceMappingURL=AnnotationAccordion-test.js.map