Repository URL to install this package:
|
Version:
3.11.5 ▾
|
import React from 'react';
import { shallow } from 'enzyme';
import LanguageMenu from './LanguageMenu';
import LanguageIcon from '../../visuals/Icon/svg/ic_languages.svg';
describe('Test Language Menu', () => {
it('should render all entries from items list', () => {
const entries = [
{
label: 'Test',
icon: LanguageIcon,
},
{
label: 'Test1',
icon: LanguageIcon,
},
];
const component = shallow(<LanguageMenu items={entries}>child</LanguageMenu>);
expect(component.find('.LanguageMenu-itemWrapper')).toHaveLength(entries.length);
});
it('should add "span" tag to the menu wrapper when item prop does not contains link', () => {
const entries = [
{
label: 'Test',
icon: LanguageIcon,
},
];
const component = shallow(<LanguageMenu items={entries}>child</LanguageMenu>);
expect(component.find('.LanguageMenu-item').prop('tag')).toEqual('span');
});
it('should add "nav" tag to the menu wrapper when item prop contains link', () => {
const entries = [
{
label: 'Test',
to: 'https://doodle.com',
},
];
const component = shallow(<LanguageMenu items={entries}>child</LanguageMenu>);
expect(component.find('.LanguageMenu-item').prop('tag')).toEqual('a');
});
it('matches the snapshot', () => {
const entries = [
{
label: 'Test',
icon: LanguageIcon,
},
];
const component = shallow(<LanguageMenu items={entries}>child</LanguageMenu>);
expect(component).toMatchSnapshot();
});
});