UNPKG

lucid-ui

Version:

A UI component library from AppNexus.

94 lines 2.75 kB
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(); }); }); });