@@ -6,14 +6,13 @@ import { http, HttpResponse } from 'msw';
66import { SnackbarProvider } from 'notistack' ;
77import { ReactElement } from 'react' ;
88
9- import { handlers } from '../../../__mocks__/handlers' ;
109import {
1110 setupMockHandlerCreation ,
1211 setupMockHandlerUpdating ,
1312} from '../../../__mocks__/handlersUtils' ;
14- import { setupMockHandlerDeletion } from '../../../__mocks__/handlersUtils' ;
1513import App from '../../../App' ;
1614import { server } from '../../../setupTests' ;
15+ import { Event } from '../../../types' ;
1716import { makeEvent } from '../../utils' ;
1817
1918const theme = createTheme ( ) ;
@@ -106,10 +105,8 @@ describe('반복 UI 및 표시', () => {
106105 } ) ;
107106
108107 it ( '반복일정을 단일 삭제하면 해당 날짜 셀에서만 사라진다' , async ( ) => {
109- // 현재 주간 뷰 범위에 10/16, 10/17이 포함되도록 고정
110108 vi . setSystemTime ( new Date ( '2025-10-16' ) ) ;
111109
112- // 반복: daily 10/15 시작 ~ 10/22 종료, 서버에는 베이스 이벤트 1건만 존재
113110 const series = makeEvent ( {
114111 id : 'r1' ,
115112 title : '반복 삭제 테스트' ,
@@ -140,6 +137,16 @@ describe('반복 UI 및 표시', () => {
140137 http . get ( '/api/events' , ( ) => {
141138 return HttpResponse . json ( { events : mockEvents } ) ;
142139 } ) ,
140+ http . put ( '/api/events/:id' , async ( { params, request } ) => {
141+ const { id } = params ;
142+ const updatedEvent = ( await request . json ( ) ) as Event ;
143+
144+ const index = mockEvents . findIndex ( ( event ) => event . id === id ) ;
145+ if ( index !== - 1 ) {
146+ mockEvents [ index ] = { ...mockEvents [ index ] , ...updatedEvent } ;
147+ }
148+ return HttpResponse . json ( mockEvents [ index ] ) ;
149+ } ) ,
143150 http . delete ( '/api/events/:id' , ( { params } ) => {
144151 const { id } = params ;
145152 mockEvents = mockEvents . filter ( ( event ) => event . id !== id ) ;
0 commit comments