react-typeahead-tokenizer
Version:
React-based typeahead and typeahead-tokenizer
39 lines (29 loc) • 1.5 kB
JavaScript
import React from 'react';
import { mount, render } from 'enzyme';
import { Tokenizer } from '../../';
describe('Tokenizer component', () => {
it('should generate an input field', () => {
const tokenizer = render(<Tokenizer inputProps={{ name: 'findme' }} />);
expect(tokenizer.find('input[name="findme"]').length).toBe(1);
});
it('should allow custom classes', () => {
const tokenizer = render(<Tokenizer customClasses={{ input: 'kettle' }} />);
expect(tokenizer.find('.typeahead-tokenizer input').hasClass('kettle')).toBe(true);
});
it('should allow a placeholder', () => {
const tokenizer = render(<Tokenizer placeholder='teaspoon' />);
expect(tokenizer.find('.typeahead-tokenizer input').attr('placeholder')).toEqual('teaspoon')
});
it('should be able to be disabled', () => {
const tokenizer = render(<Tokenizer disabled={true} />);
expect(tokenizer.find('.typeahead-tokenizer input').attr('disabled')).toEqual('disabled');
});
it('should render some tokens', () => {
const tokenizer = render(<Tokenizer defaultSelected={['knife', 'fork', 'spoon']} />);
expect(tokenizer.find('.typeahead-tokenizer .typeahead-token').length).toBe(3);
});
it('should allow default classNames to be removed', () => {
const tokenizer = render(<Tokenizer defaultClassNames={false} />);
expect(tokenizer.find('div').hasClass('typeahead')).toBe(false);
});
});