Skip to content

Commit

Permalink
chore: setting 화면에서 필요한 family member 관련 mock api 생성[#77]
Browse files Browse the repository at this point in the history
  • Loading branch information
j2h30728 committed May 20, 2024
1 parent c272303 commit 6a83044
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/constants/endPoint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ export const END_POINT = {
GRID: '/api/grid',
GRID_BY_UPLOADER: '/api/grid/uploader',
UPLOADER_GRID: '/api/grid/:userId',
FAMILY: (petId: string) => `/api/family/${petId}`,
INVITE_MEMBER: (petId: string) => `/api/family/${petId}/member`,
} as const;
Binary file added src/mocks/datas/mock6.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/mocks/datas/mock7.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions src/mocks/datas/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { Family } from '../../types/user';
import userMockImageUrl1 from './mock2.jpeg';
import userMockImageUrl2 from './mock3.jpeg';
import userMockImageUrl3 from './mock6.jpeg';
import userMockImageUrl4 from './mock7.jpeg';

export const familyMembersData: Family = {
manager: {
id: '1',
imageUrl: userMockImageUrl1,
name: '둘쨰딸',
},
members: [
{
id: '3',
imageUrl: userMockImageUrl3,
name: '큰언니',
},
{
id: '2',
imageUrl: userMockImageUrl2,
name: '막둥이',
},
{
id: '4',
imageUrl: userMockImageUrl4,
name: '엄마',
},
],
};

export const familyEmptyMembersData: Family = {
manager: {
id: '1',
imageUrl: userMockImageUrl1,
name: '둘쨰딸',
},
members: [],
};
3 changes: 2 additions & 1 deletion src/mocks/handlers/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { userHandler } from './user';
import { verificationHandler } from './verification';

const mockHandlers = [...verificationHandler];
const mockHandlers = [...verificationHandler, ...userHandler];

export default mockHandlers;
21 changes: 21 additions & 0 deletions src/mocks/handlers/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { http } from 'msw';
import { baseURL } from '../../utils/mswUtils';
import { END_POINT } from '../../constants/endPoint';
import { user } from '../resolvers/user';

export const userHandler = [
/** get family members */
http.get(baseURL(END_POINT.FAMILY(':petId')), user.getFamilyMembers),

/** get empty family members */
http.get(
baseURL(END_POINT.FAMILY(':petId') + '/empty'),
user.getEmptyFamilyMembers
),

/** invite member to family */
http.post(
baseURL(END_POINT.INVITE_MEMBER(':petId')),
user.inviteMemberToFamily
),
];
22 changes: 22 additions & 0 deletions src/mocks/resolvers/user.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import { HttpResponse, delay } from 'msw';

import { familyEmptyMembersData, familyMembersData } from '../datas/user';
import { MSWResolvers } from '../../utils/mswUtils';

export const user = {
getFamilyMembers: async () => {
await delay();
return HttpResponse.json(familyMembersData);
},

getEmptyFamilyMembers: async () => {
await delay();
return HttpResponse.json(familyEmptyMembersData);
},

inviteMemberToFamily: async ({ request }) => {
const email = await request.json();
await delay();
return HttpResponse.json({ email });
},
} satisfies MSWResolvers;

0 comments on commit 6a83044

Please sign in to comment.