import React from 'react';
import { shallow } from 'enzyme';
import LabelPrimitive from '../LabelPrimitive';
const labelContent = ['My Label'];
describe('components/label/LabelPrimitive', () => {
test('should correctly render default element', () => {
const wrapper = shallow(
,
);
expect(wrapper.find('label').length).toEqual(1);
expect(wrapper.find('span.label').length).toEqual(1);
expect(wrapper.find('.label').prop('children')).toEqual(labelContent);
expect(wrapper.find('input').length).toEqual(1);
expect(wrapper.find('.label-optional').length).toEqual(0);
});
test('should set the passed classNames', () => {
const className = 'this is a test';
const wrapper = shallow(
,
);
expect(wrapper.find('.label').prop('className')).toEqual('label bdl-Label this is a test');
});
test('should fire passed mouse enter handler', () => {
let firedCount = 0;
const rest = {
onMouseEnter: () => {
firedCount += 1;
},
};
const wrapper = shallow(
,
);
const label = wrapper.find('.label');
label.simulate('mouseEnter');
expect(firedCount).toEqual(1);
});
test('should fire passed mouse leave handler', () => {
let firedCount = 0;
const rest = {
onMouseLeave: () => {
firedCount += 1;
},
};
const wrapper = shallow(
,
);
const label = wrapper.find('.label');
label.simulate('mouseLeave');
expect(firedCount).toEqual(1);
});
});