UNPKG

@retailmenot/anchor

Version:

A React UI Library by RetailMeNot

46 lines 2.49 kB
// VENDOR import * as React from 'react'; import * as renderer from 'react-test-renderer'; import { shallow, mount } from 'enzyme'; import { ThemeProvider } from '@xstyled/styled-components'; import { RootTheme } from '../theme'; // COMPONENT import { AutoComplete } from './AutoComplete.component'; describe('Component: AutoComplete', () => { it('should be defined', () => { const subject = (React.createElement(ThemeProvider, { theme: RootTheme }, React.createElement(AutoComplete, { placeholder: "Search...", dataSource: [{ value: 1, label: 'Result Item 1' }] }))); const wrapper = mount(subject); const component = shallow(subject); expect(subject).toBeDefined(); expect(wrapper).toBeDefined(); expect(component).toBeDefined(); const tree = renderer.create(subject).toJSON(); expect(tree).toMatchSnapshot(); }); it('should render with a suffix and prefix', () => { const subject = (React.createElement(ThemeProvider, { theme: RootTheme }, React.createElement(AutoComplete, { prefix: React.createElement("div", null, "prefix"), suffix: React.createElement("div", null, "suffix"), dataSource: [{ value: 1, label: 'Result Item 1' }] }))); const tree = renderer.create(subject).toJSON(); expect(tree).toMatchSnapshot(); }); it('should render with a shadow', () => { const subject = (React.createElement(ThemeProvider, { theme: RootTheme }, React.createElement(AutoComplete, { shadow: true, dataSource: [{ value: 1, label: 'Result Item 1' }] }))); const tree = renderer.create(subject).toJSON(); expect(tree).toMatchSnapshot(); }); it('should render without a border', () => { const subject = (React.createElement(ThemeProvider, { theme: RootTheme }, React.createElement(AutoComplete, { border: false, dataSource: [{ value: 1, label: 'Result Item 1' }] }))); const tree = renderer.create(subject).toJSON(); expect(tree).toMatchSnapshot(); }); it('should pass additional input attributes via inputProps', () => { const subject = (React.createElement(ThemeProvider, { theme: RootTheme }, React.createElement(AutoComplete, { inputProps: { autoCapitalize: 'false' } }))); const wrapper = mount(subject); expect(wrapper.find({ autoCapitalize: 'false' })).toBeDefined(); }); }); //# sourceMappingURL=AutoComplete.component.spec.js.map