lucid-ui
Version:
A UI component library from AppNexus.
94 lines • 2.75 kB
JavaScript
import React from 'react';
import assert from 'assert';
import { shallow } from 'enzyme';
import { common } from '../../util/generic-tests';
import IconSelect from './IconSelect';
var items = [{
id: 'one',
isSelected: false,
label: 'one'
}, {
id: 'two',
isSelected: true,
label: 'two'
}];
describe('IconSelect', function () {
common(IconSelect, {
defaultProps: {
items: []
}
});
it('prop children', function () {
var wrapper = shallow( /*#__PURE__*/React.createElement(IconSelect, {
items: items
}, /*#__PURE__*/React.createElement("div", {
className: "jim"
})));
assert(wrapper.contains( /*#__PURE__*/React.createElement("div", {
className: "jim"
})));
});
it.skip('has a selected item', function () {
var wrapper = shallow( /*#__PURE__*/React.createElement(IconSelect, {
items: items
}));
assert.equal(wrapper.children().at(1).children().at(1).children().prop('isSelected'), true);
});
describe('IconSelect Events', function () {
it.skip('should call the onClick handler when clicked', function () {
var onIconSelect = jest.fn();
var onIconSelectClick = jest.fn();
var mockEvent = {
target: {
classList: {
contains: function contains() {
return true;
}
},
focus: onIconSelect,
hasAttribute: function hasAttribute() {
return false;
},
dataset: {
id: 'test'
}
}
};
var wrapper = shallow( /*#__PURE__*/React.createElement(IconSelect, {
items: items,
onSelect: onIconSelectClick
}));
var onClickEvent = wrapper.instance();
onClickEvent.handleClick(mockEvent);
expect(onIconSelect).toHaveBeenCalled();
expect(onIconSelectClick).toHaveBeenCalledWith('test', expect.objectContaining({
event: expect.anything(),
props: expect.anything()
}));
});
it.skip('should not use onClick if disabled', function () {
var onIconSelect = jest.fn();
var onIconSelectClick = jest.fn();
var mockEvent = {
target: {
focus: onIconSelect,
hasAttribute: function hasAttribute() {
return true;
},
dataset: {
id: 'test'
}
}
};
var wrapper = shallow( /*#__PURE__*/React.createElement(IconSelect, {
items: items,
isDisabled: true,
onSelect: onIconSelectClick
}));
var onClickEvent = wrapper.instance();
onClickEvent.handleClick(mockEvent);
expect(onIconSelect).not.toHaveBeenCalled();
expect(onIconSelectClick).not.toHaveBeenCalled();
});
});
});