vcc-ui
Version:
VCC UI is a collection of React UI Components that can be used for developing front-end applications at Volvo Car Corporation.
128 lines (120 loc) • 4.05 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _ = require(".");
var _createSnapshot = _interopRequireDefault(require("../../test/create-snapshot"));
var _render = _interopRequireDefault(require("../../test/render"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _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; }; return _extends.apply(this, arguments); }
describe('options prop', function () {
it('renders <SelectInput /> correctly', function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.SelectInput, {
onChange: function onChange() {},
value: "c70"
}, _react.default.createElement("option", {
value: "bilmodell"
}, "Bilmodell"), _react.default.createElement("option", {
value: "c30",
disabled: true
}, "Volvo C30"), _react.default.createElement("option", {
value: "c70"
}, "Volvo C70"), _react.default.createElement("option", {
value: "c90"
}, "Volvo C90"), _react.default.createElement("option", {
value: "c40"
}, "Volvo S40"), _react.default.createElement("option", {
value: "s60"
}, "Volvo S60"), _react.default.createElement("option", {
value: "s80"
}, "Volvo S80"), _react.default.createElement("option", {
value: "s90"
}, "Volvo S90")));
expect(snapshot).toMatchSnapshot();
});
var selectInputProps = {
onChange: function onChange() {},
options: [{
value: 'bilmodell',
label: 'Bilmodell'
}, {
value: 'c70',
label: 'Volvo C70'
}, {
value: 'c90',
label: 'Volvo C90'
}, {
value: 'c99',
label: 'Volvo C99',
disabled: true
}, {
value: 's40',
label: 'Volvo S40'
}, {
value: 's60',
label: 'Volvo S60'
}, {
value: 's80',
label: 'Volvo S80'
}, {
value: 's90',
label: 'Volvo S90'
}],
value: 'v70'
};
it('renders <SelectInput /> correctly with options prop', function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.SelectInput, selectInputProps));
expect(snapshot).toMatchSnapshot();
});
var selectOptGroupsProps = {
onChange: function onChange() {},
options: {
Berlin: [{
value: 'c30',
label: 'Volvo C30'
}, {
value: 'c70',
label: 'Volvo C70'
}],
Göteborg: [{
value: 's40',
label: 'Volvo S40'
}, {
value: 's80',
label: 'Volvo S80'
}]
},
value: 's80'
};
it('renders <SelectInput /> correctly', function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.SelectInput, selectOptGroupsProps));
expect(snapshot).toMatchSnapshot();
});
it('renders <SelectInput /> correctly with isValid=false', function () {
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.SelectInput, _extends({}, selectOptGroupsProps, {
isValid: false
})));
expect(snapshot).toMatchSnapshot();
});
it('renders <SelectInput /> correctly with theme', function () {
var theme = {
colors: {
primary: 'pink'
},
selectInput: {
border: '1px solid #000'
},
selectInputValue: {
fontSize: '17px'
},
tokens: {}
};
var snapshot = (0, _createSnapshot.default)(_react.default.createElement(_.SelectInput, selectInputProps), theme);
expect(snapshot).toMatchSnapshot();
});
it('correctly implements ref prop', function () {
var mockRef = _react.default.createRef();
(0, _render.default)(_react.default.createElement(_.SelectInput, _extends({
ref: mockRef
}, selectInputProps)));
expect(mockRef.current).not.toBe(null);
});
});