gather-content-ui
Version:
GatherContent UI Library
49 lines (48 loc) • 2.12 kB
JavaScript
"use strict";
var _vitest = require("vitest");
var _react = _interopRequireDefault(require("react"));
var _react2 = require("@testing-library/react");
var _RadioButton = _interopRequireDefault(require("../RadioButton"));
var _Other = _interopRequireDefault(require("../RadioButton/Other"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
(0, _vitest.describe)("RadioButtons", function () {
(0, _vitest.it)("renders a radio button", function () {
// @ts-expect-error TS(2709): Cannot use namespace 'RadioButton' as a type.
(0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_RadioButton["default"], {
id: "123",
label: "Click me",
name: "input name"
}));
(0, _vitest.expect)(_react2.screen.getByLabelText("Click me").getAttribute("type")).toEqual("radio");
});
(0, _vitest.it)('renders an unchecked "other" radio button that fires a change handler', function () {
var onChangeHandler = _vitest.vi.fn();
(0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Other["default"], {
name: "foo",
id: "4",
label: "Something else",
onChangeHandler: onChangeHandler,
onTextChangeHandler: function onTextChangeHandler() {}
}));
_react2.fireEvent.click(_react2.screen.getByLabelText("Something else"));
(0, _vitest.expect)(onChangeHandler).toHaveBeenCalled();
});
(0, _vitest.it)('renders a checked "other" radio button that displays an input', function () {
var onTextChangeHandler = _vitest.vi.fn();
(0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Other["default"], {
name: "foo",
id: "4",
label: "Something else",
onChangeHandler: function onChangeHandler() {},
onTextChangeHandler: onTextChangeHandler,
checked: true
}));
_react2.fireEvent.change(_react2.screen.getByPlaceholderText("Something else"), {
target: {
value: "Other!"
}
});
(0, _vitest.expect)(onTextChangeHandler).toHaveBeenCalled();
});
});
//# sourceMappingURL=RadioButton.spec.js.map