UNPKG

gather-content-ui

Version:
127 lines (126 loc) 6.56 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _vitest = require("vitest"); var _react2 = require("@testing-library/react"); var _ = require("../"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } (0, _vitest.describe)("SelectionProvider", function () { var createWrapper = function createWrapper(child) { return /*#__PURE__*/_react["default"].createElement(_.SelectionProvider, null, /*#__PURE__*/_react["default"].createElement(_.SelectionContext.Consumer, null, child)); }; (0, _vitest.it)("appends a selected id", function () { var childSpy = _vitest.vi.fn(); var _render = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.updateSelected("7", "testType"); } }, "Append Id"), childSpy(context)); })), getByText = _render.getByText; _react2.fireEvent.click(getByText("Append Id")); var resultingContext = childSpy.mock.calls[1][0]; (0, _vitest.expect)(resultingContext.selected).toEqual(["7"]); (0, _vitest.expect)(resultingContext.currentSelectedType).toEqual("testType"); }); (0, _vitest.it)("removes a selected id if it is already selected", function () { var childSpy = _vitest.vi.fn(); var _render2 = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.updateSelected("7", "anotherTestType"); } }, "Click with Id"), childSpy(context)); })), getByText = _render2.getByText; _react2.fireEvent.click(getByText("Click with Id")); _react2.fireEvent.click(getByText("Click with Id")); var resultingContext = childSpy.mock.calls[2][0]; (0, _vitest.expect)(resultingContext.selected).toEqual([]); (0, _vitest.expect)(resultingContext.currentSelectedType).toEqual(null); }); (0, _vitest.it)("sets multiple selected ids", function () { var childSpy = _vitest.vi.fn(); var _render3 = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.selectMultiple(["7", "8", "9", "10"], "testType"); } }, "Select Multiple"), childSpy(context)); })), getByText = _render3.getByText; _react2.fireEvent.click(getByText("Select Multiple")); var resultingContext = childSpy.mock.calls[1][0]; (0, _vitest.expect)(resultingContext.selected).toEqual(["7", "8", "9", "10"]); (0, _vitest.expect)(resultingContext.currentSelectedType).toEqual("testType"); }); (0, _vitest.it)("deselects multiple ids", function () { var childSpy = _vitest.vi.fn(); var _render4 = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.selectMultiple(["7", "8", "9", "10", "5", "3", "1"]); } }, "Select Multiple"), /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.deselectMultiple(["7", "8", "9", "10", "5", "3", "1"], "1"); } }, "Deselect Multiple"), childSpy(context)); })), getByText = _render4.getByText; _react2.fireEvent.click(getByText("Select Multiple")); _react2.fireEvent.click(getByText("Deselect Multiple")); var resultingContext = childSpy.mock.calls[2][0]; (0, _vitest.expect)(resultingContext.selected).toEqual([]); (0, _vitest.expect)(resultingContext.currentSelectedType).toEqual(null); }); (0, _vitest.it)("clears everything", function () { var childSpy = _vitest.vi.fn(); var _render5 = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.selectMultiple(["7", "8", "9", "10", "5", "3", "1"]); } }, "Select Multiple"), /*#__PURE__*/_react["default"].createElement("button", { type: "button", onClick: function onClick() { return context.clear(); } }, "Clear"), childSpy(context)); })), getByText = _render5.getByText; _react2.fireEvent.click(getByText("Select Multiple")); _react2.fireEvent.click(getByText("Clear")); var resultingContext = childSpy.mock.calls[2][0]; (0, _vitest.expect)(resultingContext.selected).toEqual([]); (0, _vitest.expect)(resultingContext.currentSelectedType).toEqual(null); }); (0, _vitest.it)("handles intendedToSelect", function () { var childSpy = _vitest.vi.fn(); var _render6 = (0, _react2.render)(createWrapper(function (context) { return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("button", { type: "button", onMouseEnter: function onMouseEnter() { return context.setIntendedToSelect(["7", "8", "9", "10", "5", "3", "1"]); }, onMouseLeave: function onMouseLeave() { return context.setIntendedToSelect([]); } }, "IntendedToSelect"), childSpy(context)); })), getByText = _render6.getByText; _react2.fireEvent.mouseEnter(getByText("IntendedToSelect")); _react2.fireEvent.mouseLeave(getByText("IntendedToSelect")); var mouseEnterContext = childSpy.mock.calls[1][0]; (0, _vitest.expect)(mouseEnterContext.intendedToSelect).toEqual(["7", "8", "9", "10", "5", "3", "1"]); var mouseLeaveContext = childSpy.mock.calls[2][0]; (0, _vitest.expect)(mouseLeaveContext.intendedToSelect).toEqual([]); }); }); //# sourceMappingURL=SelectionProvider.spec.js.map