diff --git a/src/api/service/follower-service/index.ts b/src/api/service/follower-service/index.ts index fad5c3f3..8bd2c16a 100644 --- a/src/api/service/follower-service/index.ts +++ b/src/api/service/follower-service/index.ts @@ -1,14 +1,10 @@ -import { baseAPI } from '@/api/core'; +import { api } from '@/api/core'; +import { Follower } from '@/types/service/follow'; export const followerServiceRemote = () => ({ // 팔로워 목록 조회 // 임시주소로 작성. 나중에 수정 필요. getFollowers: async () => { - try { - const response = await baseAPI.get('http://localhost:4000/followers'); - return response.data; - } catch (error) { - throw error; - } + return api.get('/followers'); }, }); diff --git a/src/components/pages/message/message-following-card/index.stories.tsx b/src/components/pages/message/message-following-card/index.stories.tsx index 0d46dd6b..587322f2 100644 --- a/src/components/pages/message/message-following-card/index.stories.tsx +++ b/src/components/pages/message/message-following-card/index.stories.tsx @@ -21,16 +21,16 @@ export default meta; type Story = StoryObj; const baseArgs = { - id: 0, - name: '신짱구', + userId: 0, + nickname: '신짱구', profileImage: 'https://images.unsplash.com/photo-1714635218254-740bad86a0e8?q=80&w=765&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D', }; export const FollowingCardTable: Story = { args: { - id: 0, - name: '', + userId: 0, + nickname: '', profileImage: '', profileMessage: '', type: 'following', diff --git a/src/components/pages/message/message-following-card/index.test.tsx b/src/components/pages/message/message-following-card/index.test.tsx index ba7f8029..883fb0b0 100644 --- a/src/components/pages/message/message-following-card/index.test.tsx +++ b/src/components/pages/message/message-following-card/index.test.tsx @@ -8,8 +8,8 @@ jest.mock('next/navigation', () => ({ useRouter: jest.fn(), })); const defaultProps = { - id: 0, - name: '얼룩말', + userId: 0, + nickname: '얼룩말', profileImage: '/test.png', profileMessage: '안녕하세요!', }; diff --git a/src/components/pages/message/message-following-card/index.tsx b/src/components/pages/message/message-following-card/index.tsx index ec699e40..9f131e51 100644 --- a/src/components/pages/message/message-following-card/index.tsx +++ b/src/components/pages/message/message-following-card/index.tsx @@ -4,8 +4,8 @@ import { useRouter } from 'next/navigation'; import { cn } from '@/lib/utils'; interface FollowingCardProps { - id: number; - name: string; + userId: number; + nickname: string; profileImage: string; profileMessage: string; type: 'following' | 'message'; @@ -14,8 +14,8 @@ interface FollowingCardProps { } export const FollowingCard = ({ - id, - name, + userId, + nickname, profileImage, profileMessage, type, @@ -24,7 +24,7 @@ export const FollowingCard = ({ }: FollowingCardProps) => { const router = useRouter(); const handleClick = () => { - router.push(`/profile/${id}`); + router.push(`/profile/${userId}`); }; return (
- {name} + {nickname} { render(); TEST_ITEMS.forEach((item) => { - expect(screen.getByText(item.name)).toBeInTheDocument(); + expect(screen.getByText(item.nickname)).toBeInTheDocument(); }); }); }); diff --git a/src/components/pages/message/message-following-list/index.tsx b/src/components/pages/message/message-following-list/index.tsx index 8c6b2dc0..9c113c51 100644 --- a/src/components/pages/message/message-following-list/index.tsx +++ b/src/components/pages/message/message-following-list/index.tsx @@ -1,16 +1,11 @@ 'use client'; -import { FollowingCard } from '../message-following-card'; +import { Follower } from '@/types/service/follow'; -interface FollowingItem { - id: number; - name: string; - profileImage: string; - profileMessage: string; -} +import { FollowingCard } from '../message-following-card'; interface FollowingListProps { - items: FollowingItem[]; + items: Follower[]; } export const FollowingList = ({ items }: FollowingListProps) => { @@ -18,12 +13,12 @@ export const FollowingList = ({ items }: FollowingListProps) => {
{items.map((item) => ( ))}
diff --git a/src/mock/service/followers/followers-handler.ts b/src/mock/service/followers/followers-handler.ts index af6da5d1..4a461b72 100644 --- a/src/mock/service/followers/followers-handler.ts +++ b/src/mock/service/followers/followers-handler.ts @@ -1,12 +1,20 @@ import { http, HttpResponse } from 'msw'; +import { createMockErrorResponse, createMockSuccessResponse } from '../common/common-mock'; import { mockFollowingItems } from './followers-mocks'; -const getFollowersMock = http.get('http://localhost:4000/followers', () => { +const getFollowersMock = http.get('*/followers', () => { if (!mockFollowingItems) { - return HttpResponse.json({ message: '팔로잉 목록이 없습니다.' }, { status: 404 }); + return HttpResponse.json( + createMockErrorResponse({ + status: 404, + detail: '팔로우가 없습니다.', + errorCode: 'F001', + }), + { status: 404 }, + ); } - return HttpResponse.json(mockFollowingItems); + return HttpResponse.json(createMockSuccessResponse(mockFollowingItems)); }); export const followerHandlers = [getFollowersMock]; diff --git a/src/types/service/follow.ts b/src/types/service/follow.ts new file mode 100644 index 00000000..33689ab2 --- /dev/null +++ b/src/types/service/follow.ts @@ -0,0 +1,6 @@ +export interface Follower { + userId: number; + nickname: string; + profileImage: string; + profileMessage: string; +}