Skip to content

Commit ce84848

Browse files
committed
Snapshots, linting and storybook styles
1 parent 118bdf0 commit ce84848

File tree

4 files changed

+107
-1
lines changed

4 files changed

+107
-1
lines changed

.storybook/_storybook.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
display: block;
33
margin: auto;
44
background-color: transparent;
5-
text-align: center;
65
}
76

87
.tag-demo {
@@ -24,6 +23,7 @@
2423

2524
.tooltip-demo {
2625
@extend %demo-centered;
26+
text-align: center;
2727
width: 250px;
2828
padding-top: 100px;
2929
padding-bottom: 100px;

src/components/accordion-menu/__tests__/AccordionMenu.test.tsx

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,77 @@ describe('AccordionMenu', () => {
88
expect(component).toMatchSnapshot();
99
component.unmount();
1010
});
11+
12+
describe('Section', () => {
13+
it('matches snapshot', () => {
14+
const component = shallow(<AccordionMenu.Section heading="TestHeading" />);
15+
expect(component).toMatchSnapshot();
16+
component.unmount();
17+
});
18+
19+
it('passes through text', () => {
20+
const component = shallow(<AccordionMenu.Section heading="TestHeading" />);
21+
expect(component.find('.nhsuk-accordion-menu__section-summary-text').text()).toBe(
22+
'TestHeading',
23+
);
24+
component.unmount();
25+
});
26+
27+
it('handles defaultOpen', () => {
28+
const component = shallow(
29+
<AccordionMenu.Section id="accordion" heading="Heading" defaultOpen />,
30+
);
31+
const event = {
32+
preventDefault: jest.fn(),
33+
};
34+
35+
expect(component.find('#accordion').getElement().props.open).toBe(true);
36+
component.find('summary').simulate('click', event);
37+
expect(event.preventDefault).toHaveBeenCalledTimes(1);
38+
expect(component.find('#accordion').getElement().props.open).toBe(false);
39+
component.find('summary').simulate('click', event);
40+
expect(event.preventDefault).toHaveBeenCalledTimes(2);
41+
expect(component.find('#accordion').getElement().props.open).toBe(true);
42+
component.unmount();
43+
});
44+
it('handles open={true}', () => {
45+
const component = shallow(<AccordionMenu.Section id="accordion" heading="Heading" open />);
46+
const event = {
47+
preventDefault: jest.fn(),
48+
};
49+
expect(component.find('#accordion').getElement().props.open).toBe(true);
50+
component.find('summary').simulate('click', event);
51+
expect(event.preventDefault).toHaveBeenCalledTimes(1);
52+
expect(component.find('#accordion').getElement().props.open).toBe(true);
53+
component.find('summary').simulate('click', event);
54+
expect(event.preventDefault).toHaveBeenCalledTimes(2);
55+
expect(component.find('#accordion').getElement().props.open).toBe(true);
56+
component.unmount();
57+
});
58+
59+
it('handles open={false}', () => {
60+
const component = shallow(
61+
<AccordionMenu.Section id="accordion" heading="Heading" open={false} />,
62+
);
63+
const event = {
64+
preventDefault: jest.fn(),
65+
};
66+
expect(component.find('#accordion').getElement().props.open).toBe(false);
67+
component.find('summary').simulate('click', event);
68+
expect(event.preventDefault).toHaveBeenCalledTimes(1);
69+
expect(component.find('#accordion').getElement().props.open).toBe(false);
70+
component.find('summary').simulate('click', event);
71+
expect(event.preventDefault).toHaveBeenCalledTimes(2);
72+
expect(component.find('#accordion').getElement().props.open).toBe(false);
73+
component.unmount();
74+
});
75+
});
76+
describe('Link', () => {
77+
it('matches snapshot', () => {
78+
const component = shallow(<AccordionMenu.Link>Test</AccordionMenu.Link>);
79+
expect(component).toMatchSnapshot();
80+
expect(component.text()).toBe('Test');
81+
component.unmount();
82+
});
83+
});
1184
});

src/components/accordion-menu/__tests__/__snapshots__/AccordionMenu.test.tsx.snap

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3+
exports[`AccordionMenu Link matches snapshot 1`] = `
4+
<div
5+
className="nhsuk-accordion-menu__subsection"
6+
>
7+
<a
8+
className="nhsuk-accordion-menu__subsection-link"
9+
>
10+
Test
11+
</a>
12+
</div>
13+
`;
14+
15+
exports[`AccordionMenu Section matches snapshot 1`] = `
16+
<details
17+
className="nhsuk-accordion-menu__section"
18+
open={false}
19+
>
20+
<summary
21+
className="nhsuk-accordion-menu__section-summary"
22+
onClick={[Function]}
23+
role="tab"
24+
tabIndex={1}
25+
>
26+
<span
27+
className="nhsuk-accordion-menu__section-summary-text"
28+
>
29+
TestHeading
30+
</span>
31+
</summary>
32+
</details>
33+
`;
34+
335
exports[`AccordionMenu matches snapshot 1`] = `
436
<div
537
className="nhsuk-accordion-menu"

stories/SubNavigation.stories.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable import/no-extraneous-dependencies */
12
import React from 'react';
23
import { storiesOf } from '@storybook/react';
34
import { SubNavigation } from '../src';

0 commit comments

Comments
 (0)