wix-style-react
Version:
wix-style-react
315 lines (263 loc) • 11.9 kB
JavaScript
;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _ = require('.');
var _2 = _interopRequireDefault(_);
var _unit = require('../../test/utils/unit');
var _CalendarPanelFooterDriver = require('./CalendarPanelFooter.driver.private');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
describe('CalendarPanelFooter', function () {
var render = (0, _unit.createRendererWithUniDriver)(_CalendarPanelFooterDriver.calendarPanelFooterPrivateDriverFactory);
afterEach(function () {
(0, _unit.cleanup)();
});
var createDefaultProps = function createDefaultProps() {
return {
primaryActionLabel: 'Update',
secondaryActionLabel: 'Cancel',
primaryActionDisabled: false,
primaryActionOnClick: function primaryActionOnClick() {},
secondaryActionOnClick: function secondaryActionOnClick() {},
dateToString: function dateToString(date) {
return date.toLocaleDateString('en-US', _.defaultDateToStringOptions);
},
selectedDays: new Date(2018, 0, 15)
};
};
describe('selected days text', function () {
it('should show single selected day text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
var _render, driver;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_render = render(_react2.default.createElement(_2.default, createDefaultProps())), driver = _render.driver;
_context.t0 = expect;
_context.next = 4;
return driver.getSelectedDaysText();
case 4:
_context.t1 = _context.sent;
(0, _context.t0)(_context.t1).toBe('Jan 15, 2018');
case 6:
case 'end':
return _context.stop();
}
}
}, _callee, undefined);
})));
it('should show range text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
var selectedDays, _render2, driver;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
selectedDays = {
from: new Date(2018, 0, 1),
to: new Date(2018, 0, 15)
};
_render2 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
selectedDays: selectedDays
}))), driver = _render2.driver;
_context2.t0 = expect;
_context2.next = 5;
return driver.getSelectedDaysText();
case 5:
_context2.t1 = _context2.sent;
(0, _context2.t0)(_context2.t1).toBe('Jan 1, 2018 - Jan 15, 2018');
case 7:
case 'end':
return _context2.stop();
}
}
}, _callee2, undefined);
})));
it('should show infinite range text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
var selectedDays, _render3, driver;
return regeneratorRuntime.wrap(function _callee3$(_context3) {
while (1) {
switch (_context3.prev = _context3.next) {
case 0:
selectedDays = {
from: new Date(2018, 0, 1)
};
_render3 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
selectedDays: selectedDays
}))), driver = _render3.driver;
_context3.t0 = expect;
_context3.next = 5;
return driver.getSelectedDaysText();
case 5:
_context3.t1 = _context3.sent;
(0, _context3.t0)(_context3.t1).toBe('Jan 1, 2018 -');
case 7:
case 'end':
return _context3.stop();
}
}
}, _callee3, undefined);
})));
it('should show empty selected day text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
var _render4, driver;
return regeneratorRuntime.wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
_render4 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
selectedDays: undefined
}))), driver = _render4.driver;
_context4.t0 = expect;
_context4.next = 4;
return driver.getSelectedDaysText();
case 4:
_context4.t1 = _context4.sent;
(0, _context4.t0)(_context4.t1).toBe('');
case 6:
case 'end':
return _context4.stop();
}
}
}, _callee4, undefined);
})));
});
describe('Action Buttons', function () {
describe('Text', function () {
it('should show primary action button text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
var _render5, driver;
return regeneratorRuntime.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
_render5 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
primaryActionLabel: 'Custom Update'
}))), driver = _render5.driver;
_context5.t0 = expect;
_context5.next = 4;
return driver.getPrimaryActionButtonLabel();
case 4:
_context5.t1 = _context5.sent;
(0, _context5.t0)(_context5.t1).toBe('Custom Update');
case 6:
case 'end':
return _context5.stop();
}
}
}, _callee5, undefined);
})));
it('should show secondary action button text', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
var _render6, driver;
return regeneratorRuntime.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
_render6 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
secondaryActionLabel: 'Custom Cancel'
}))), driver = _render6.driver;
_context6.t0 = expect;
_context6.next = 4;
return driver.getSecondaryActionButtonLabel();
case 4:
_context6.t1 = _context6.sent;
(0, _context6.t0)(_context6.t1).toBe('Custom Cancel');
case 6:
case 'end':
return _context6.stop();
}
}
}, _callee6, undefined);
})));
});
describe('Primary Button Disabled', function () {
it('should show primary button as disabled when primaryActionDisabled=true', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee7() {
var _render7, driver;
return regeneratorRuntime.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
_render7 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
primaryActionDisabled: true
}))), driver = _render7.driver;
_context7.t0 = expect;
_context7.next = 4;
return driver.isPrimaryButtonDisabled();
case 4:
_context7.t1 = _context7.sent;
(0, _context7.t0)(_context7.t1).toBe(true);
case 6:
case 'end':
return _context7.stop();
}
}
}, _callee7, undefined);
})));
it('should show primary button as enabled when primaryActionDisabled=false', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee8() {
var _render8, driver;
return regeneratorRuntime.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
_render8 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
primaryActionDisabled: false
}))), driver = _render8.driver;
_context8.t0 = expect;
_context8.next = 4;
return driver.isPrimaryButtonDisabled();
case 4:
_context8.t1 = _context8.sent;
(0, _context8.t0)(_context8.t1).toBe(false);
case 6:
case 'end':
return _context8.stop();
}
}
}, _callee8, undefined);
})));
});
describe('On Click Callbacks', function () {
it('should call primaryActionOnClick when clicking the primary button', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee9() {
var primaryActionOnClick, _render9, driver;
return regeneratorRuntime.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
primaryActionOnClick = jest.fn();
_render9 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
primaryActionDisabled: false,
primaryActionOnClick: primaryActionOnClick
}))), driver = _render9.driver;
_context9.next = 4;
return driver.clickOnPrimaryButton();
case 4:
expect(primaryActionOnClick).toHaveBeenCalledTimes(1);
case 5:
case 'end':
return _context9.stop();
}
}
}, _callee9, undefined);
})));
it('should call secondaryActionOnClick when clicking the secondary button', _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee10() {
var secondaryActionOnClick, _render10, driver;
return regeneratorRuntime.wrap(function _callee10$(_context10) {
while (1) {
switch (_context10.prev = _context10.next) {
case 0:
secondaryActionOnClick = jest.fn();
_render10 = render(_react2.default.createElement(_2.default, _extends({}, createDefaultProps(), {
secondaryActionOnClick: secondaryActionOnClick
}))), driver = _render10.driver;
_context10.next = 4;
return driver.clickOnSecondaryButton();
case 4:
expect(secondaryActionOnClick).toBeCalled();
case 5:
case 'end':
return _context10.stop();
}
}
}, _callee10, undefined);
})));
});
});
});