gather-content-ui
Version:
GatherContent UI Library
82 lines (81 loc) • 2.91 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _vitest = require("vitest");
var _react2 = require("@testing-library/react");
var _useShiftSelect = require("../useShiftSelect");
var _ = require("../");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
(0, _vitest.describe)("useShiftSelect", function () {
(0, _vitest.it)("selects multiple when shift clicking", function () {
var id = 1;
// eslint-disable-next-line react/prop-types
var wrapper = function wrapper(_ref) {
var children = _ref.children;
return /*#__PURE__*/_react["default"].createElement(_.SelectionProvider, null, children);
};
var _renderHook = (0, _react2.renderHook)(function () {
return (0, _useShiftSelect.useShiftSelect)(id, [1, 2, 3], "type");
}, {
wrapper: wrapper
}),
result = _renderHook.result,
rerender = _renderHook.rerender;
(0, _react2.act)(function () {
result.current.handleSelection({
shiftKey: false
});
});
(0, _vitest.expect)(result.current.isSelected).toBe(true);
(0, _vitest.expect)(result.current.selected).toEqual([id]);
id = 3;
rerender();
(0, _react2.act)(function () {
result.current.handleSelection({
shiftKey: true
});
});
(0, _vitest.expect)(result.current.isSelected).toBe(true);
(0, _vitest.expect)(result.current.selected).toEqual([1, 2, id]);
id = 1;
rerender();
(0, _react2.act)(function () {
result.current.handleSelection({
shiftKey: true
});
});
(0, _vitest.expect)(result.current.isSelected).toBe(false);
(0, _vitest.expect)(result.current.selected).toEqual([]);
});
(0, _vitest.it)("doesnt select multiple when shift isnt held down", function () {
var id = 1;
// eslint-disable-next-line react/prop-types
var wrapper = function wrapper(_ref2) {
var children = _ref2.children;
return /*#__PURE__*/_react["default"].createElement(_.SelectionProvider, null, children);
};
var _renderHook2 = (0, _react2.renderHook)(function () {
return (0, _useShiftSelect.useShiftSelect)(id, [1, 2, 3], "type");
}, {
wrapper: wrapper
}),
result = _renderHook2.result,
rerender = _renderHook2.rerender;
(0, _react2.act)(function () {
result.current.handleSelection({
shiftKey: false
});
});
(0, _vitest.expect)(result.current.isSelected).toBe(true);
(0, _vitest.expect)(result.current.selected).toEqual([id]);
id = 3;
rerender();
(0, _react2.act)(function () {
result.current.handleSelection({
shiftKey: false
});
});
(0, _vitest.expect)(result.current.isSelected).toBe(true);
(0, _vitest.expect)(result.current.selected).toEqual([1, id]);
});
});
//# sourceMappingURL=useShiftSelect.spec.js.map