gather-content-ui
Version:
GatherContent UI Library
127 lines (126 loc) • 6.56 kB
JavaScript
;
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