Skip to content

Commit 304253e

Browse files
committed
Creates renderWithRedux util
1 parent eeef416 commit 304253e

File tree

5 files changed

+53
-1
lines changed

5 files changed

+53
-1
lines changed

src/components/base/Header.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ const Header: React.SFC<HeaderProps> = ({
7474
<HeaderBlock
7575
floating={floating}
7676
style={{ marginTop: floating ? floatingMargin : 0 }}
77+
data-testid="Header"
7778
>
7879
<div className="wrapper">
7980
<div className="brand">
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import * as React from 'react';
2+
import styled from 'styled-components';
3+
import PageTemplate from '../base/PageTemplate';
4+
5+
const VelogPageTemplateBlock = styled(PageTemplate)``;
6+
7+
export interface VelogPageTemplateProps {}
8+
9+
const VelogPageTemplate: React.FC<VelogPageTemplateProps> = props => {
10+
return <VelogPageTemplateBlock />;
11+
};
12+
13+
export default VelogPageTemplate;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import * as React from 'react';
2+
import { render } from 'react-testing-library';
3+
import VelogPageTemplate, {
4+
VelogPageTemplateProps,
5+
} from '../VelogPageTemplate';
6+
import renderWithRedux from '../../../lib/renderWithRedux';
7+
8+
describe('VelogPageTemplate', () => {
9+
const setup = (props: Partial<VelogPageTemplateProps> = {}) => {
10+
const initialProps: VelogPageTemplateProps = {};
11+
const utils = renderWithRedux(
12+
<VelogPageTemplate {...initialProps} {...props} />,
13+
);
14+
return {
15+
...utils,
16+
};
17+
};
18+
it('renders Header', () => {
19+
const { getByTestId } = setup();
20+
getByTestId('Header');
21+
});
22+
});

src/lib/renderWithRedux.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import React from 'react';
2+
import { render } from 'react-testing-library';
3+
import { createStore } from 'redux';
4+
import { Provider } from 'react-redux';
5+
import rootReducer, { RootState } from '../modules';
6+
7+
const renderWithRedux = (ui: React.ReactNode, initialState?: RootState) => {
8+
const store = createStore(rootReducer, initialState);
9+
return {
10+
...render(<Provider store={store}>{ui}</Provider>),
11+
store,
12+
};
13+
};
14+
15+
export default renderWithRedux;

src/pages/velog/VelogPage.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import * as React from 'react';
2+
import VelogPageTemplate from '../../components/velog/VelogPageTemplate';
23

34
export interface VelogPageProps {}
45

56
const VelogPage: React.FC<VelogPageProps> = props => {
6-
return <>HeyThere</>;
7+
return <VelogPageTemplate>HeyThere</VelogPageTemplate>;
78
};
89

910
export default VelogPage;

0 commit comments

Comments
 (0)