react-select-material-ui
Version:
A react SELECT component based on react-select and looking like a material-ui component
68 lines • 3.25 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var React = require("react");
var enzyme_1 = require("enzyme");
var react_select_1 = require("react-select");
var Creatable_1 = require("react-select/lib/Creatable");
var SelectDropdown_1 = require("./SelectDropdown");
describe("SelectDropdown", function () {
it("produces a normal select", function () {
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, null));
expect(wrapper.find(react_select_1.default).exists()).toBeTruthy;
});
it("produces a creatable select", function () {
var selectProps = { isCreatable: true };
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, { selectProps: selectProps }));
expect(wrapper.find(Creatable_1.default).exists()).toBeTruthy;
});
it("passes all expected props to the child", function () {
var selectProps = { isCreatable: true };
var selectDropdownProps = {
value: [],
options: [],
onChange: function (value) { },
onFocus: function (event) { },
onBlur: function (event) { }
};
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, __assign({}, selectDropdownProps, { selectProps: selectProps })));
var props = wrapper.find(Creatable_1.default).props();
expect(props).toMatchObject(selectDropdownProps);
expect(props).toMatchObject(selectProps);
});
it("allowes to overwrite prop isValidNewOption", function () {
var isValidNewOption = function (inputValue) { return true; };
var selectDropdownProps = {
selectProps: {
isValidNewOption: isValidNewOption
}
};
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, __assign({}, selectDropdownProps)));
expect(wrapper.find(react_select_1.default).prop("isValidNewOption")).toEqual(isValidNewOption);
});
it("has the correct value for prop createOptionPosition", function () {
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, null));
expect(wrapper.find(react_select_1.default).prop("createOptionPosition")).toEqual("first");
});
it("allowes to overwrite prop createOptionPosition", function () {
var createOptionPosition = "last";
var selectDropdownProps = {
selectProps: {
createOptionPosition: createOptionPosition
}
};
var wrapper = enzyme_1.shallow(React.createElement(SelectDropdown_1.default, __assign({}, selectDropdownProps)));
expect(wrapper.find(react_select_1.default).prop("createOptionPosition")).toEqual(createOptionPosition);
});
});
//# sourceMappingURL=SelectDropdown.test.js.map