qt-public-ui
Version:
新设计规范下业务组件库
250 lines (248 loc) • 8.19 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _react = _interopRequireDefault(require("react"));
var _enzyme = require("enzyme");
var _index = _interopRequireDefault(require("../index"));
var testBasicFunction = function testBasicFunction(type) {
it("basic function: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
var fn, listProps, wrapper, checkbox;
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
fn = jest.fn();
listProps = {
options: [{
label: 'label1',
value: 'label1'
}, {
label: 'label2label2label2label2label2label2label2label2label2label2',
value: 'label2'
}, {
label: 'label3',
value: 'label3'
}, {
label: 'label4',
value: 'label4'
}, {
label: 'label5',
value: 'label5'
}, {
label: 'label6',
value: 'label6'
}, {
label: 'label7',
value: 'label7'
}, {
label: 'label8',
value: 'label8'
}, {
label: 'label9',
value: 'label9'
}, {
label: 'label10',
value: 'label10'
}, {
label: 'label11',
value: 'label11'
}, {
label: 'label12',
value: 'label12'
}, {
label: 'label13',
value: 'label13'
}, {
label: 'label14',
value: 'label14'
}],
showSearch: true,
onChange: fn,
type: type,
// defaultValue: ['label11'],
max: 2
};
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps));
checkbox = wrapper.find('.ant-checkbox-input');
expect(checkbox.length).toBe(14);
checkbox.at(3).simulate('change', {
target: {
checked: true
}
});
expect(fn).toHaveBeenCalledWith(["label4"]);
checkbox.at(4).simulate('change', {
target: {
checked: true
}
});
expect(fn).toHaveBeenCalledWith(["label4", "label5"]);
expect(wrapper.find('.umui-checkbox-hint-num').text()).toBe('2/2');
case 10:
case "end":
return _context.stop();
}
}, _callee);
})));
};
var testMax = function testMax(type) {
it("max should be ok: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
var fn, listProps, wrapper;
return _regenerator["default"].wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
fn = jest.fn();
listProps = {
options: [{
label: 'label1',
value: 'label1'
}, {
label: 'label2label2label2label2label2label2label2label2label2label2',
value: 'label2'
}, {
label: 'label3',
value: 'label3'
}, {
label: 'label4',
value: 'label4'
}, {
label: 'label5',
value: 'label5'
}, {
label: 'label6',
value: 'label6'
}, {
label: 'label7',
value: 'label7'
}, {
label: 'label8',
value: 'label8'
}, {
label: 'label9',
value: 'label9'
}, {
label: 'label10',
value: 'label10'
}, {
label: 'label11',
value: 'label11'
}, {
label: 'label12',
value: 'label12'
}, {
label: 'label13',
value: 'label13'
}, {
label: 'label14',
value: 'label14'
}],
showSearch: true,
onChange: fn,
type: type,
defaultValue: ['label11', 'label1', 'label2'],
max: 3
};
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps));
expect(wrapper.find('.umui-checkbox-hint-num').text()).toBe('3/3');
expect(fn).toHaveBeenCalledTimes(0);
case 5:
case "end":
return _context2.stop();
}
}, _callee2);
})));
};
var testSearch = function testSearch(type) {
it("can search: ".concat(type), /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
var fn, listProps, wrapper, rowName, serchInput;
return _regenerator["default"].wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
fn = jest.fn();
listProps = {
options: [{
label: 'label1',
value: 'label1'
}, {
label: 'label2label2label2label2label2label2label2label2label2label2',
value: 'label2'
}, {
label: 'label3',
value: 'label3'
}, {
label: 'label4',
value: 'label4'
}, {
label: 'label5',
value: 'label5'
}, {
label: 'label6',
value: 'label6'
}, {
label: 'label7',
value: 'label7'
}, {
label: 'label8',
value: 'label8'
}, {
label: 'label9',
value: 'label9'
}, {
label: 'label10',
value: 'label10'
}, {
label: 'label11',
value: 'label11'
}, {
label: 'label12',
value: 'label12'
}, {
label: 'label13',
value: 'label13'
}, {
label: 'label14',
value: 'label14'
}],
// showSearch: true,
onChange: fn,
type: type,
defaultValue: ['label11', 'label1', 'label2'],
max: 3
};
wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_index["default"], listProps));
rowName = type === 'list' ? 'label' : '.ant-table-row .ant-table-cell-ellipsis';
expect(wrapper.find('.umui-input-search .ant-input').exists()).toBe(false);
wrapper.setProps({
showSearch: true
});
expect(wrapper.find('.umui-input-search .ant-input').exists()).toBe(true);
serchInput = wrapper.find('.umui-input-search .ant-input');
serchInput.simulate('change', {
target: {
value: '12'
}
});
expect(wrapper.find(rowName).length).toBe(1);
expect(wrapper.find(rowName).at(0).text()).toBe('label12');
// 模糊查询
serchInput.simulate('change', {
target: {
value: '1'
}
});
expect(wrapper.find(rowName).length).toBe(6);
case 13:
case "end":
return _context3.stop();
}
}, _callee3);
})));
};
describe('CheckboxList', function () {
testBasicFunction('list');
testBasicFunction('table');
testMax('list');
testMax('table');
testSearch('list');
// testSearch('table'); // 组件有bug 这个先注释
});