Skip to content

Commit 025d34d

Browse files
committed
updating test cases
1 parent 86dce62 commit 025d34d

File tree

10 files changed

+158
-43
lines changed

10 files changed

+158
-43
lines changed

.vscode/launch.json

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +0,0 @@
1-
{
2-
// Use IntelliSense para saber los atributos posibles.
3-
// Mantenga el puntero para ver las descripciones de los existentes atributos
4-
// Para más información, visite: https://go.microsoft.com/fwlink/?linkid=830387
5-
"version": "0.2.0",
6-
"configurations": [
7-
8-
{
9-
"type": "chrome",
10-
"request": "launch",
11-
"name": "Lanzar Chrome contra localhost",
12-
"url": "http://localhost:8080",
13-
"webRoot": "${workspaceFolder}"
14-
}
15-
]
16-
}
Lines changed: 45 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
import * as React from 'react';
22
import {MemberPage, Props} from './page';
33
import * as SaveMember from './actions/saveMember';
4-
import {saveMemberAction} from './actions/saveMember';
54
import {shallow} from 'enzyme';
65
import { createEmptyMember } from '../../reducers/member';
76
import { createEmptyMemberErrors } from '../../reducers/memberErrors';
87
import { MemberEntity } from '../../model';
9-
import configureStore from 'redux-mock-store';
10-
import reduxThunk from 'redux-thunk';
118

12-
const middlewares = [reduxThunk];
13-
const getMockStore = configureStore(middlewares);
149

1510
describe ('/components/member/page specs',()=>{
1611
it('should retur as expected when definde props',()=>{
1712
//arrange
18-
const data:Props = {
13+
const props:Props = {
1914
memberId:-1,
2015
member: createEmptyMember(),
2116
memberErrors: createEmptyMemberErrors(),
@@ -25,7 +20,7 @@ describe ('/components/member/page specs',()=>{
2520
}
2621
//act
2722
const component = shallow (
28-
<MemberPage {...data} />
23+
<MemberPage {...props} />
2924
);
3025
//assert
3126
expect(component).toMatchSnapshot();
@@ -38,58 +33,84 @@ describe ('/components/member/page specs',()=>{
3833
avatar_url:'test new avatar',
3934
login: 'test new login'
4035
}
41-
const data: Props = {
36+
const props: Props = {
4237
memberId: -1,
43-
member: createEmptyMember(),
38+
member: newMember,
4439
memberErrors: createEmptyMemberErrors(),
4540
fetchMemberById: () => { },
4641
onChange: () => { },
4742
onSave: jest.fn(),
4843
}
49-
const store = getMockStore();
44+
5045

5146
const actionSaveStub = jest.spyOn(SaveMember, 'saveMemberAction')
5247
.mockImplementation(()=>(
5348
{ ...newMember,}
5449
));
5550

5651
const component = shallow(
57-
<MemberPage {...data} />,
58-
{
59-
context: { store },
60-
},
52+
<MemberPage {...props} />,
6153
);
6254

6355

64-
component.prop('onSave')();
65-
console.log(`pete ${component}`);
56+
//component.prop('onSave')();
57+
component.simulate('save',newMember);
58+
6659
//assert
67-
expect(actionSaveStub).toHaveBeenCalledWith(newMember);
60+
expect(props.onSave).toHaveBeenCalledWith(newMember);
6861

6962
});
7063

71-
/* it('should call onChange when Changes are made', () => {
64+
it('should call onChange when Changes are made', () => {
7265
//arrange
7366

74-
const data: Props = {
67+
const newMember: MemberEntity = {
68+
id: 56789,
69+
avatar_url: 'test new avatar',
70+
login: 'test new login'
71+
}
72+
const props: Props = {
7573
memberId: -1,
76-
member: createEmptyMember(),
74+
member: newMember,
7775
memberErrors: createEmptyMemberErrors(),
7876
fetchMemberById: () => { },
7977
onChange: jest.fn(),
8078
onSave: () => { } ,
8179
}
8280

81+
let fieldName = 'test fieldName';
82+
let value = 'test value';
8383

8484
//act
8585
const component = shallow(
86-
<MemberPage {...data} />
86+
<MemberPage {...props} />
8787
);
8888

8989

90-
component.find('data.onChange');
90+
component.simulate('change', fieldName, value);
9191
//assert
92-
expect(component).toHaveBeenCalled();
92+
expect(props.onChange).toHaveBeenCalledWith(newMember,fieldName, value);
93+
94+
});
95+
it ('should componetDidMount when component is called',()=>{
96+
//arrange
97+
const props: Props = {
98+
memberId: -1,
99+
member: createEmptyMember(),
100+
memberErrors: createEmptyMemberErrors(),
101+
fetchMemberById: jest.fn(),
102+
onChange: ()=>{},
103+
onSave: () => { },
104+
}
93105

94-
}); */
106+
//act
107+
const component = shallow(
108+
<MemberPage {...props} />
109+
);
110+
111+
component.find('componentDidMount');
112+
113+
//assert
114+
expect (props.fetchMemberById).toHaveBeenCalled();
115+
});
95116
});

13 TestComponents/src/components/member/pageContainer.spec.tsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ import {createEmptyMemberErrors} from '../../reducers/memberErrors';
99
import * as MemberFieldChange from './actions/memberFieldChange';
1010
import * as SaveMember from './actions/saveMember';
1111

12-
13-
1412
const getMockStore = configureStore();
1513

1614
describe('pages/login/pageContainer tests', () => {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`./components/members/memberHeader should render memberHeader as expected 1`] = `
4+
<tr>
5+
<th>
6+
Avatar
7+
</th>
8+
<th>
9+
Id
10+
</th>
11+
<th>
12+
Name
13+
</th>
14+
</tr>
15+
`;
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`/components/members/memberRow should render as expected whenprops are passed 1`] = `
4+
<tr>
5+
<td>
6+
<img
7+
className="avatar"
8+
src=""
9+
/>
10+
</td>
11+
<td>
12+
<Link
13+
replace={false}
14+
to="/member/-1"
15+
>
16+
-1
17+
</Link>
18+
</td>
19+
<td>
20+
<span />
21+
</td>
22+
</tr>
23+
`;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`/components/members/pageContainer should render as spected passing state 1`] = `
4+
<MembersPage
5+
fetchMembers={[Function]}
6+
members={Array []}
7+
/>
8+
`;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import * as React from 'react';
2+
import {MemberHeader} from './memberHeader';
3+
import {shallow} from 'enzyme';
4+
5+
describe('./components/members/memberHeader',()=>{
6+
it('should render memberHeader as expected',()=>{
7+
//arrange
8+
//act
9+
const component = shallow(
10+
<MemberHeader />
11+
);
12+
//Assert
13+
expect (component).toMatchSnapshot();
14+
15+
});
16+
});
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import * as React from 'react';
2+
import {MemberRow,Props} from './memberRow';
3+
import {shallow} from 'enzyme';
4+
import { createEmptyMember } from '../../reducers/member';
5+
6+
describe('/components/members/memberRow',()=>{
7+
it('should render as expected whenprops are passed',()=>{
8+
//arrange
9+
let member: Props = {member:createEmptyMember()};
10+
//act
11+
let component = shallow(
12+
<MemberRow{...member}/>
13+
);
14+
//assert
15+
expect (component).toMatchSnapshot();
16+
});
17+
})
18+

13 TestComponents/src/components/members/memberRow.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as React from 'react';
22
import { Link } from 'react-router-dom';
33
import { MemberEntity } from '../../model';
44

5-
interface Props {
5+
export interface Props {
66
member: MemberEntity;
77
}
88

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import * as React from 'react';
2+
import { shallow } from 'enzyme';
3+
import { State } from '../../reducers';
4+
import configureStore from 'redux-mock-store';
5+
import { createEmptyMembers } from '../../reducers/members';
6+
import { createEmptyMember } from '../../reducers/member';
7+
import { createEmptyMemberErrors } from '../../reducers/memberErrors';
8+
import { MembersPageContainer } from './pageContainer';
9+
10+
const getMockStore = configureStore();
11+
12+
describe('/components/members/pageContainer', () => {
13+
it('should render as spected passing state',()=>{
14+
//arrange
15+
const state = {
16+
members: createEmptyMembers(),
17+
member: createEmptyMember(),
18+
memberErrors: createEmptyMemberErrors()
19+
} as State;
20+
const store = getMockStore(state);
21+
//act
22+
23+
const component = shallow(
24+
<MembersPageContainer/>,
25+
{
26+
context: {store},
27+
},
28+
);
29+
//assert
30+
expect(component).toMatchSnapshot();
31+
});
32+
});

0 commit comments

Comments
 (0)