@wix/design-system
Version:
@wix/design-system
363 lines (362 loc) • 11.9 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
exports.__esModule = true;
exports.storySettings = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireWildcard(require("react"));
var _react2 = require("@storybook/react");
var _DatePicker = _interopRequireDefault(require("../DatePicker"));
var _Box = _interopRequireDefault(require("../../Box"));
var _RTLWrapper = require("../../../stories/utils/RTLWrapper");
var _storiesHierarchy = require("../../../stories/storiesHierarchy");
var _visual = require("../../utils/test-utils/visual");
var _excluded = ["componentDidMount"];
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/DatePicker/test/DatePicker.visual.jsx",
_this = void 0;
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var storySettings = exports.storySettings = {
category: _storiesHierarchy.Category.COMPONENTS,
storyName: 'DatePicker',
dataHook: 'storybook-datepicker'
};
var click = function click() {
return (0, _visual.clickElement)('wsr-input');
};
var focus = function focus() {
return (0, _visual.focusElement)('wsr-input');
};
var ExampleDatePicker = function ExampleDatePicker(props) {
var defaultValue = new Date('2017/05/01');
var _useState = (0, _react.useState)(defaultValue),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
value = _useState2[0],
setValue = _useState2[1];
var onChange = function onChange(newValue) {
return setValue(newValue);
};
return /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({
value: value,
dataHook: storySettings.dataHook,
onChange: onChange,
placeholderText: "Select Date",
shouldCloseOnSelect: true,
showYearDropdown: false,
showMonthDropdown: false,
locale: "en",
twoMonths: false
}, props, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 24,
columnNumber: 5
}
}));
};
var testGroups = [{
describe: 'Basic Usage',
tests: [{
describe: 'Date should not be selected',
its: [{
placeholderText: 'Select Date'
}, {
placeholderText: 'Select Date',
disabled: true
}]
}, {
describe: 'Date should be selected',
its: [{
placeholderText: 'Select Date',
value: new Date('08/07/1986')
}, {
placeholderText: 'Select Date',
value: new Date('08/07/1986'),
disabled: true
}, {
placeholderText: 'Select Date',
value: new Date('08/07/1986'),
initialOpen: true
}]
}, {
describe: 'With status',
its: [{
placeholderText: 'Select Date',
status: 'error'
}, {
placeholderText: 'Select Date',
status: 'warning'
}, {
placeholderText: 'Select Date',
status: 'loading'
}]
}, {
describe: 'Sizes',
its: [{
placeholderText: 'Select Date',
size: 'small'
}, {
placeholderText: 'Select Date',
size: 'medium'
}, {
placeholderText: 'Select Date',
size: 'large'
}]
}, {
describe: 'ReadOnly',
its: [{
placeholderText: 'Select Date',
readOnly: false,
value: new Date('03/03/2021')
}, {
placeholderText: 'Select Date',
readOnly: true,
value: new Date('03/03/2021')
}]
}, {
describe: 'ClearButton',
its: [{
placeholderText: 'Select Date',
clearButton: true
}, {
placeholderText: 'Select Date',
value: new Date('03/07/2021'),
clearButton: true
}]
}]
}, {
describe: 'width prop',
tests: [{
describe: 'should be 150px by default',
its: [{
placeholderText: 'Select Date',
value: new Date('08/07/1986')
}]
}, {
describe: 'should accept px values',
its: [{
width: '100px',
placeholderText: 'Select Date',
value: new Date('08/07/1986')
}]
}, {
describe: 'should accept % values',
its: [{
width: '50%',
placeholderText: 'Select Date',
value: new Date('08/07/1986')
}]
}]
}];
testGroups.forEach(function (group) {
group.tests.forEach(function (test) {
(0, _react2.storiesOf)("DatePicker/".concat(group.describe), module).add(test.describe, function () {
return /*#__PURE__*/_react["default"].createElement(_Box["default"], {
width: "1024px",
height: "768px",
flexWrap: "wrap",
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 178,
columnNumber: 7
}
}, test.its.map(function (props) {
return /*#__PURE__*/_react["default"].createElement(_Box["default"], {
paddingRight: "65px",
direction: "vertical",
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 180,
columnNumber: 11
}
}, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
margin: 2,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 181,
columnNumber: 13
}
}, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({
width: "auto",
onChange: function onChange() {}
}, props, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 182,
columnNumber: 15
}
}))));
}));
});
});
});
var rtlTests = [{
describe: 'rtl',
its: [{
it: 'rtl',
props: {
placeholderText: 'Select Date',
value: new Date('08/07/1986'),
rtl: true,
width: '250px'
}
}, {
it: 'with status error',
props: {
placeholderText: 'Select Date',
value: new Date('08/07/1986'),
rtl: true,
width: '250px',
status: 'error'
}
}, {
it: 'with status warning',
props: {
placeholderText: 'Select Date',
value: new Date('08/07/1986'),
rtl: true,
width: '250px',
status: 'warning'
}
}, {
it: 'with status loading',
props: {
placeholderText: 'Select Date',
rtl: true,
width: '250px',
status: 'loading'
}
}]
}];
rtlTests.forEach(function (_ref) {
var describe = _ref.describe,
its = _ref.its;
its.forEach(function (_ref2) {
var it = _ref2.it,
props = _ref2.props;
(0, _react2.storiesOf)("".concat(_DatePicker["default"].displayName).concat(describe ? '/' + describe : ''), module).add(it, function () {
return /*#__PURE__*/_react["default"].createElement(_RTLWrapper.RTLWrapper, {
rtl: true,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 243,
columnNumber: 7
}
}, /*#__PURE__*/_react["default"].createElement(_DatePicker["default"], (0, _extends2["default"])({
onChange: function onChange() {}
}, props, {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 244,
columnNumber: 9
}
})));
});
});
});
var InteractiveEyeTest = /*#__PURE__*/function (_React$Component) {
function InteractiveEyeTest() {
(0, _classCallCheck2["default"])(this, InteractiveEyeTest);
return _callSuper(this, InteractiveEyeTest, arguments);
}
(0, _inherits2["default"])(InteractiveEyeTest, _React$Component);
return (0, _createClass2["default"])(InteractiveEyeTest, [{
key: "componentDidMount",
value: function componentDidMount() {
this.props.componentDidMount();
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
componentDidMount = _this$props.componentDidMount,
restProps = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
return /*#__PURE__*/_react["default"].createElement(ExampleDatePicker, (0, _extends2["default"])({}, restProps, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 257,
columnNumber: 12
}
}));
}
}]);
}(_react["default"].Component);
var interactiveTests = [{
describe: 'Interactive',
its: [{
it: 'should not open calendar on click when disabled',
componentDidMount: function componentDidMount() {
click();
},
props: {
disabled: true
}
}, {
it: 'should open calendar on click',
componentDidMount: function componentDidMount() {
click();
focus();
}
}, {
it: 'should render a footer on click',
componentDidMount: function componentDidMount() {
click();
focus();
},
props: {
renderFooter: function renderFooter() {
return /*#__PURE__*/_react["default"].createElement("span", {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 289,
columnNumber: 13
}
}, "This is a ", /*#__PURE__*/_react["default"].createElement("b", {
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 290,
columnNumber: 25
}
}, "footer"));
}
}
}]
}];
interactiveTests.forEach(function (_ref3) {
var describe = _ref3.describe,
its = _ref3.its;
its.forEach(function (_ref4) {
var it = _ref4.it,
props = _ref4.props,
componentDidMount = _ref4.componentDidMount;
(0, _react2.storiesOf)("DatePicker".concat(describe ? '/' + describe : ''), module).add(it, function () {
return /*#__PURE__*/_react["default"].createElement(InteractiveEyeTest, (0, _extends2["default"])({}, props, {
componentDidMount: componentDidMount,
__self: _this,
__source: {
fileName: _jsxFileName,
lineNumber: 304,
columnNumber: 9
}
}));
});
});
});