gather-content-ui
Version:
GatherContent UI Library
97 lines (96 loc) • 3.8 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _vitest = require("vitest");
var _react2 = require("@testing-library/react");
var _useObjectSelector = require("../useObjectSelector");
var _ = require("../");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
(0, _vitest.describe)("useObjectSelector", function () {
(0, _vitest.it)("should select the given ids", 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, _useObjectSelector.useObjectSelector)(id, "type", [id, 2], function () {
return false;
});
}, {
wrapper: wrapper
}),
result = _renderHook.result;
(0, _react2.act)(function () {
result.current.handleClick();
});
(0, _vitest.expect)(result.current.isSelected).toBe(true);
});
(0, _vitest.it)("should use the disabled callback to determine whether the id is disabled, handleClick should do nothing", 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, _useObjectSelector.useObjectSelector)(id, "folder", [id], function () {
return true;
});
}, {
wrapper: wrapper
}),
result = _renderHook2.result;
(0, _react2.act)(function () {
result.current.handleClick();
});
(0, _vitest.expect)(result.current.isSelected).toBe(false);
(0, _vitest.expect)(result.current.isDisabled).toBe(true);
});
(0, _vitest.it)("should use the disabled callback to determine whether the id is disabled, handleClick should do nothing", function () {
var id = 1;
// eslint-disable-next-line react/prop-types
var wrapper = function wrapper(_ref3) {
var children = _ref3.children;
return /*#__PURE__*/_react["default"].createElement(_.SelectionProvider, null, children);
};
var _renderHook3 = (0, _react2.renderHook)(function () {
return (0, _useObjectSelector.useObjectSelector)(id, "folder", [id], function () {
return true;
});
}, {
wrapper: wrapper
}),
result = _renderHook3.result;
(0, _react2.act)(function () {
result.current.handleClick();
});
(0, _vitest.expect)(result.current.isSelected).toBe(false);
(0, _vitest.expect)(result.current.isDisabled).toBe(true);
});
(0, _vitest.it)("should handle hovering over an object", function () {
var id = 1;
// eslint-disable-next-line react/prop-types
var wrapper = function wrapper(_ref4) {
var children = _ref4.children;
return /*#__PURE__*/_react["default"].createElement(_.SelectionProvider, null, children);
};
var _renderHook4 = (0, _react2.renderHook)(function () {
return (0, _useObjectSelector.useObjectSelector)(id, "folder", [id], function () {
return true;
});
}, {
wrapper: wrapper
}),
result = _renderHook4.result;
(0, _react2.act)(function () {
result.current.handleMouseEnter();
});
(0, _vitest.expect)(result.current.isHovered).toBe(true);
(0, _react2.act)(function () {
result.current.handleMouseLeave();
});
(0, _vitest.expect)(result.current.isHovered).toBe(false);
});
});
//# sourceMappingURL=useObjectSelector.spec.js.map