Add missing KuiPopover tests. (#14433)

This commit is contained in:
CJ Cenizal 2017-10-11 17:01:10 -07:00
parent 13fbbcf410
commit c107b0aea0
2 changed files with 182 additions and 79 deletions

View file

@ -1,29 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`KuiPopover anchorPosition defaults to center 1`] = `
<div
class="kuiPopover"
>
<button />
</div>
`;
exports[`KuiPopover anchorPosition left is rendered 1`] = `
<div
class="kuiPopover kuiPopover--anchorLeft"
>
<button />
</div>
`;
exports[`KuiPopover anchorPosition right is rendered 1`] = `
<div
class="kuiPopover kuiPopover--anchorRight"
>
<button />
</div>
`;
exports[`KuiPopover children is rendered 1`] = `
<div
class="kuiPopover"
@ -42,7 +18,7 @@ exports[`KuiPopover is rendered 1`] = `
</div>
`;
exports[`KuiPopover isOpen defaults to false 1`] = `
exports[`KuiPopover props anchorPosition defaults to center 1`] = `
<div
class="kuiPopover"
>
@ -50,7 +26,31 @@ exports[`KuiPopover isOpen defaults to false 1`] = `
</div>
`;
exports[`KuiPopover isOpen renders true 1`] = `
exports[`KuiPopover props anchorPosition left is rendered 1`] = `
<div
class="kuiPopover kuiPopover--anchorLeft"
>
<button />
</div>
`;
exports[`KuiPopover props anchorPosition right is rendered 1`] = `
<div
class="kuiPopover kuiPopover--anchorRight"
>
<button />
</div>
`;
exports[`KuiPopover props isOpen defaults to false 1`] = `
<div
class="kuiPopover"
>
<button />
</div>
`;
exports[`KuiPopover props isOpen renders true 1`] = `
<div
class="kuiPopover"
>
@ -62,3 +62,37 @@ exports[`KuiPopover isOpen renders true 1`] = `
</div>
</div>
`;
exports[`KuiPopover props panelClassName is rendered 1`] = `
<div
class="kuiPopover"
>
<button />
<div>
<div
class="kuiPanelSimple kuiPanelSimple--paddingMedium kuiPanelSimple--shadow kuiPopover__panel test"
/>
</div>
</div>
`;
exports[`KuiPopover props panelPaddingSize is rendered 1`] = `
<div
class="kuiPopover"
>
<button />
<div>
<div
class="kuiPanelSimple kuiPanelSimple--paddingSmall kuiPanelSimple--shadow kuiPopover__panel"
/>
</div>
</div>
`;
exports[`KuiPopover props withTitle is rendered 1`] = `
<div
class="kuiPopover kuiPopover--withTitle"
>
<button />
</div>
`;

View file

@ -1,9 +1,12 @@
import React from 'react';
import { render } from 'enzyme';
import { render, mount } from 'enzyme';
import sinon from 'sinon';
import { requiredProps } from '../../test/required_props';
import { KuiPopover } from './popover';
import { keyCodes } from '../../services';
describe('KuiPopover', () => {
test('is rendered', () => {
const component = render(
@ -32,70 +35,136 @@ describe('KuiPopover', () => {
.toMatchSnapshot();
});
describe('anchorPosition', () => {
test('defaults to center', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
/>
);
describe('props', () => {
describe('withTitle', () => {
test('is rendered', () => {
const component = render(
<KuiPopover
withTitle
button={<button />}
closePopover={() => {}}
/>
);
expect(component)
.toMatchSnapshot();
expect(component)
.toMatchSnapshot();
});
});
test('left is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
anchorPosition="left"
/>
);
describe('closePopover', () => {
it('is called when ESC key is hit', () => {
const closePopoverHandler = sinon.stub();
expect(component)
.toMatchSnapshot();
const component = mount(
<KuiPopover
withTitle
button={<button />}
closePopover={closePopoverHandler}
/>
);
component.simulate('keydown', { keyCode: keyCodes.ESCAPE });
sinon.assert.calledOnce(closePopoverHandler);
});
});
test('right is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
anchorPosition="right"
/>
);
describe('anchorPosition', () => {
test('defaults to center', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
/>
);
expect(component)
.toMatchSnapshot();
});
});
expect(component)
.toMatchSnapshot();
});
describe('isOpen', () => {
test('defaults to false', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
/>
);
test('left is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
anchorPosition="left"
/>
);
expect(component)
.toMatchSnapshot();
expect(component)
.toMatchSnapshot();
});
test('right is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
anchorPosition="right"
/>
);
expect(component)
.toMatchSnapshot();
});
});
test('renders true', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
isOpen={true}
/>
);
describe('isOpen', () => {
test('defaults to false', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
/>
);
expect(component)
.toMatchSnapshot();
expect(component)
.toMatchSnapshot();
});
test('renders true', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
isOpen
/>
);
expect(component)
.toMatchSnapshot();
});
});
describe('panelClassName', () => {
test('is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
panelClassName="test"
isOpen
/>
);
expect(component)
.toMatchSnapshot();
});
});
describe('panelPaddingSize', () => {
test('is rendered', () => {
const component = render(
<KuiPopover
button={<button />}
closePopover={() => {}}
panelPaddingSize="s"
isOpen
/>
);
expect(component)
.toMatchSnapshot();
});
});
});
});