wix-style-react
Version:
wix-style-react
118 lines (112 loc) • 3.68 kB
JavaScript
import React from 'react';
import ReactTestUtils from 'react-dom/test-utils';
import Label from './Label';
import { tpaLabelTestkitFactory as labelTestkitFactory } from '../../../testkit';
describe('Label', function () {
it('should exist', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(Label, { dataHook: dataHook })
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.exists()).toBeTruthy();
});
it('should contain passed text', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(
Label,
{ dataHook: dataHook },
'some text'
)
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.getContent()).toEqual('some text');
});
it('should contain passed dom element', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(
Label,
{ dataHook: dataHook },
React.createElement(
'span',
null,
'some text'
)
)
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.getContent()).toEqual('<span>some text</span>');
});
it('should contain \'for\' attribute', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(
Label,
{ 'for': 'some-id', dataHook: dataHook },
React.createElement(
'span',
null,
'some text'
)
)
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.getAttribute('for')).toEqual('some-id');
});
it('should contain \'data-hook\' attribute', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(
Label,
{ 'for': 'some-id', dataHook: dataHook },
React.createElement(
'span',
null,
'some text'
)
)
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.getAttribute('data-hook')).toEqual('Label-hook');
});
it('should contain custom class name', function () {
var div = document.createElement('div');
var dataHook = 'Label-hook';
var wrapper = div.appendChild(ReactTestUtils.renderIntoDocument(React.createElement(
'div',
null,
React.createElement(
Label,
{
'for': 'some-id',
labelClassName: 'customLabelStyle',
dataHook: dataHook
},
React.createElement(
'span',
null,
'some text'
)
)
)));
var labelTestkit = labelTestkitFactory({ wrapper: wrapper, dataHook: dataHook });
expect(labelTestkit.hasClass('customLabelStyle')).toBeTruthy();
});
});