\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 120| \n 121| await user.click(within(screen.getByLabelText('뷰 타입 선택')).getByRol…\n | ^\n 122| await user.click(screen.getByRole('option', { name: 'week-option' …\n 123| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 주별 뷰 선택 후 해당 일자에 일정이 존재한다면 해당 일정이 정확히 표시된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 뷰 > 월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\nTestingLibraryElementError: Unable to find an element with the text: 일정 로딩 완료!. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:158:18\n 156| \n 157| // ! 일정 로딩 완료 후 테스트\n 158| await screen.findByText('일정 로딩 완료!');\n | ^\n 159| \n 160| const eventList = within(screen.getByTestId('event-list'));\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 월별 뷰에 일정이 정확히 표시되는지 확인한다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 뷰 > 달력에 1월 1일(신정)이 공휴일로 표시되는지 확인한다\nTestingLibraryElementError: Unable to find an element by: [data-testid=\"month-view\"]\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 185| \n 186| const monthView = screen.getByTestId('month-view');\n | ^\n 187| \n 188| // 1월 1일 셀 확인\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > 검색 결과가 없으면, \"검색 결과가 없습니다.\"가 표시되어야 한다.\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 236| \n 237| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 238| await user.type(searchInput, '존재하지 않는 일정');\n 239| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > '팀 회의'를 검색하면 해당 제목을 가진 일정이 리스트에 노출된다\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 246| \n 247| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 248| await user.type(searchInput, '팀 회의');\n 249| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > 검색어를 지우면 모든 일정이 다시 표시되어야 한다\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 256| \n 257| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 258| await user.type(searchInput, '팀 회의');\n 259| await user.clear(searchInput);\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 충돌 > 겹치는 시간에 새 일정을 추가할 때 경고가 표시된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 충돌 > 기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\nTestingLibraryElementError: Unable to find a label with the text of: Edit event\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findAllByLabelText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:310:38\n 308| const { user } = setup( );\n 309| \n 310| const editButton = (await screen.findAllByLabelText('Edit event'))…\n | ^\n 311| await user.click(editButton);\n 312| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 로딩 완료!. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:333:16\n 331| \n 332| // ! 일정 로딩 완료 후 테스트\n 333| await screen.findByText('일정 로딩 완료!');\n | ^\n 334| \n 335| expect(screen.queryByText('10분 후 기존 회의 일정이 시작됩니다.')).not.toBeInTheDo…\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 저장되어있는 초기 이벤트 데이터를 적절하게 불러온다\nAssertionError: expected { events: [ { id: '1', …(9) } ] } to deeply equal [ { id: '1', title: '기존 회의', …(8) } ]\n\n\u001b[32m- Expected:\u001b[39m \n[\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"10:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"기존 회의\",\n },\n]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"10:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"기존 회의\",\n },\n ],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:30:33\n 28| await act(() => Promise.resolve(null));\n 29| \n 30| expect(result.current.events).toEqual([\n | ^\n 31| {\n 32| id: '1',\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 정의된 이벤트 정보를 기준으로 적절하게 저장이 된다\nAssertionError: expected { events: [] } to deeply equal [ { id: '1', title: '새 회의', …(8) } ]\n\n\u001b[32m- Expected:\u001b[39m \n[\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-16\",\n \"description\": \"새로운 팀 미팅\",\n \"endTime\": \"12:00\",\n \"id\": \"1\",\n \"location\": \"회의실 A\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"11:00\",\n \"title\": \"새 회의\",\n },\n]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:70:33\n 68| });\n 69| \n 70| expect(result.current.events).toEqual([{ ...newEvent, id: '1' }]);\n | ^\n 71| });\n 72| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 새로 정의된 'title', 'endTime' 기준으로 적절하게 일정이 업데이트 된다\nAssertionError: expected undefined to deeply equal { id: '1', date: '2025-10-15', …(8) }\n\n\u001b[32m- Expected:\u001b[39m \n{\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"11:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"수정된 회의\",\n}\n\n\u001b[31m+ Received:\u001b[39m \nundefined\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:97:36\n 95| });\n 96| \n 97| expect(result.current.events[0]).toEqual(updatedEvent);\n | ^\n 98| });\n 99| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[19/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 존재하는 이벤트 삭제 시 에러없이 아이템이 삭제된다.\nAssertionError: expected { events: [] } to deeply equal []\n\n\u001b[32m- Expected:\u001b[39m \n[]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:111:33\n 109| await act(() => Promise.resolve(null));\n 110| \n 111| expect(result.current.events).toEqual([]);\n | ^\n 112| });\n 113| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[20/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 이벤트 로딩 실패 시 '이벤트 로딩 실패'라는 텍스트와 함께 에러 토스트가 표시되어야 한다\nAssertionError: expected \"spy\" to be called with arguments: [ '이벤트 로딩 실패', { variant: 'error' } ]\u001b[90m\n\nNumber of calls: \u001b[1m0\u001b[22m\n\u001b[39m\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:125:29\n 123| await act(() => Promise.resolve(null));\n 124| \n 125| expect(enqueueSnackbarFn).toHaveBeenCalledWith('이벤트 로딩 실패', { varian…\n | ^\n 126| \n 127| server.resetHandlers();\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[21/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 존재하지 않는 이벤트 수정 시 '일정 저장 실패'라는 토스트가 노출되며 에러 처리가 되어야 한다\nError: Failed to save event\n ❯ Object.saveEvent src/hooks/useEventOperations.ts:36:31\n 34| });\n 35| \n 36| if (!response.ok) throw new Error('Failed to save event');\n | ^\n 37| \n 38| await fetchEvents();\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:149:5\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[22/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 네트워크 오류 시 '일정 삭제 실패'라는 텍스트가 노출되며 이벤트 삭제가 실패해야 한다\nError: Failed to delete event\n ❯ Object.deleteEvent src/hooks/useEventOperations.ts:55:31\n 53| });\n 54| \n 55| if (!response.ok) throw new Error('Failed to delete event');\n | ^\n 56| \n 57| await fetchEvents();\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:167:5\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[23/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2024년은 윤년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:10:20\n 8| \n 9| // Act\n 10| const result = isLeapYear(year);\n | ^\n 11| \n 12| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[24/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2025년은 평년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:21:20\n 19| \n 20| // Act\n 21| const result = isLeapYear(year);\n | ^\n 22| \n 23| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[25/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2000년은 윤년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:32:20\n 30| \n 31| // Act\n 32| const result = isLeapYear(year);\n | ^\n 33| \n 34| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[26/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 1900년은 평년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:43:20\n 41| \n 42| // Act\n 43| const result = isLeapYear(year);\n | ^\n 44| \n 45| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[27/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 2024년 1월의 마지막 날은 31일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:107:20\n 105| \n 106| // Act\n 107| const result = getLastDayOfMonth(year, month);\n | ^\n 108| \n 109| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[28/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 윤년 2월의 마지막 날은 29일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:119:20\n 117| \n 118| // Act\n 119| const result = getLastDayOfMonth(year, month);\n | ^\n 120| \n 121| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[29/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 평년 2월의 마지막 날은 28일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:131:20\n 129| \n 130| // Act\n 131| const result = getLastDayOfMonth(year, month);\n | ^\n 132| \n 133| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[30/30]⎯\n\n⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯\n\nVitest caught 4 unhandled errors during the test run.\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n\n","stack":"Error: Command failed: pnpm test\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 충돌 > 기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\n\n⎯⎯⎯⎯⎯⎯ Failed Suites 2 ⎯⎯⎯⎯⎯⎯⎯\n\n FAIL src/__tests__/hooks/useEventForm.spec.ts [ src/__tests__/hooks/useEventForm.spec.ts ]\nError: \u001b[31mx\u001b[0m Unexpected eof\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/hooks/useEventForm.spec.ts\u001b[0m:32:1]\n \u001b[2m29\u001b[0m | const { result } = renderHook(() => useEventForm());\n \u001b[2m30\u001b[0m | \n \u001b[2m31\u001b[0m | // Act\n \u001b[2m32\u001b[0m | act(()\n `----\n\n\nCaused by:\n Syntax Error\n Plugin: vite:react-swc\n File: /Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/hooks/useEventForm.spec.ts\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/30]⎯\n\n FAIL src/__tests__/unit/repeatUtils.spec.ts [ src/__tests__/unit/repeatUtils.spec.ts ]\nError: \u001b[31mx\u001b[0m Expected '}', got ''\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/utils/repeatUtils.ts\u001b[0m:82:1]\n \u001b[2m79\u001b[0m | export function isTimeOverlapping(\n \u001b[2m80\u001b[0m | event1: { startTime: string; endTime: string },\n \u001b[2m81\u001b[0m | event2: { startTime: string; endTime: string }\n \u001b[2m82\u001b[0m | ): boolean {\n : \u001b[35;1m ^\u001b[0m\n `----\n\n\nCaused by:\n Syntax Error\n Plugin: vite:react-swc\n File: /Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/utils/repeatUtils.ts\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/30]⎯\n\n\n⎯⎯⎯⎯⎯⎯ Failed Tests 28 ⎯⎯⎯⎯⎯⎯⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 입력한 새로운 일정 정보에 맞춰 모든 필드가 이벤트 리스트에 정확히 저장된다.\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 CRUD 및 기본 기능 > 기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\nTestingLibraryElementError: Unable to find a label with the text of: Edit event\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByLabelText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:87:35\n 85| setupMockHandlerUpdating();\n 86| \n 87| await user.click(await screen.findByLabelText('Edit event'));\n | ^\n 88| \n 89| await user.clear(screen.getByLabelText('제목'));\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 일정을 삭제하고 더 이상 조회되지 않는지 확인한다\nTestingLibraryElementError: Unable to find an element by: [data-testid=\"event-list\"]\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 105| const eventList = within(screen.getByTestId('event-list'));\n | ^\n 106| expect(await eventList.findByText('삭제할 이벤트')).toBeInTheDocument();\n 107| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 주별 뷰를 선택 후 해당 주에 일정이 없으면, 일정이 표시되지 않는다.\nTestingLibraryElementError: Unable to find a label with the text of: 뷰 타입 선택\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 120| \n 121| await user.click(within(screen.getByLabelText('뷰 타입 선택')).getByRol…\n | ^\n 122| await user.click(screen.getByRole('option', { name: 'week-option' …\n 123| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 주별 뷰 선택 후 해당 일자에 일정이 존재한다면 해당 일정이 정확히 표시된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 뷰 > 월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\nTestingLibraryElementError: Unable to find an element with the text: 일정 로딩 완료!. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:158:18\n 156| \n 157| // ! 일정 로딩 완료 후 테스트\n 158| await screen.findByText('일정 로딩 완료!');\n | ^\n 159| \n 160| const eventList = within(screen.getByTestId('event-list'));\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 월별 뷰에 일정이 정확히 표시되는지 확인한다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 뷰 > 달력에 1월 1일(신정)이 공휴일로 표시되는지 확인한다\nTestingLibraryElementError: Unable to find an element by: [data-testid=\"month-view\"]\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 185| \n 186| const monthView = screen.getByTestId('month-view');\n | ^\n 187| \n 188| // 1월 1일 셀 확인\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > 검색 결과가 없으면, \"검색 결과가 없습니다.\"가 표시되어야 한다.\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 236| \n 237| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 238| await user.type(searchInput, '존재하지 않는 일정');\n 239| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > '팀 회의'를 검색하면 해당 제목을 가진 일정이 리스트에 노출된다\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 246| \n 247| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 248| await user.type(searchInput, '팀 회의');\n 249| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 검색 기능 > 검색어를 지우면 모든 일정이 다시 표시되어야 한다\nTestingLibraryElementError: Unable to find an element with the placeholder text of: 검색어를 입력하세요\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 256| \n 257| const searchInput = screen.getByPlaceholderText('검색어를 입력하세요');\n | ^\n 258| await user.type(searchInput, '팀 회의');\n 259| await user.clear(searchInput);\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 충돌 > 겹치는 시간에 새 일정을 추가할 때 경고가 표시된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 충돌 > 기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\nTestingLibraryElementError: Unable to find a label with the text of: Edit event\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findAllByLabelText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:310:38\n 308| const { user } = setup( );\n 309| \n 310| const editButton = (await screen.findAllByLabelText('Edit event'))…\n | ^\n 311| await user.click(editButton);\n 312| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/30]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 로딩 완료!. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:333:16\n 331| \n 332| // ! 일정 로딩 완료 후 테스트\n 333| await screen.findByText('일정 로딩 완료!');\n | ^\n 334| \n 335| expect(screen.queryByText('10분 후 기존 회의 일정이 시작됩니다.')).not.toBeInTheDo…\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 저장되어있는 초기 이벤트 데이터를 적절하게 불러온다\nAssertionError: expected { events: [ { id: '1', …(9) } ] } to deeply equal [ { id: '1', title: '기존 회의', …(8) } ]\n\n\u001b[32m- Expected:\u001b[39m \n[\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"10:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"기존 회의\",\n },\n]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"10:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"기존 회의\",\n },\n ],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:30:33\n 28| await act(() => Promise.resolve(null));\n 29| \n 30| expect(result.current.events).toEqual([\n | ^\n 31| {\n 32| id: '1',\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 정의된 이벤트 정보를 기준으로 적절하게 저장이 된다\nAssertionError: expected { events: [] } to deeply equal [ { id: '1', title: '새 회의', …(8) } ]\n\n\u001b[32m- Expected:\u001b[39m \n[\n {\n \"category\": \"업무\",\n \"date\": \"2025-10-16\",\n \"description\": \"새로운 팀 미팅\",\n \"endTime\": \"12:00\",\n \"id\": \"1\",\n \"location\": \"회의실 A\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"11:00\",\n \"title\": \"새 회의\",\n },\n]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:70:33\n 68| });\n 69| \n 70| expect(result.current.events).toEqual([{ ...newEvent, id: '1' }]);\n | ^\n 71| });\n 72| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 새로 정의된 'title', 'endTime' 기준으로 적절하게 일정이 업데이트 된다\nAssertionError: expected undefined to deeply equal { id: '1', date: '2025-10-15', …(8) }\n\n\u001b[32m- Expected:\u001b[39m \n{\n \"category\": \"업무\",\n \"date\": \"2025-10-15\",\n \"description\": \"기존 팀 미팅\",\n \"endTime\": \"11:00\",\n \"id\": \"1\",\n \"location\": \"회의실 B\",\n \"notificationTime\": 10,\n \"repeat\": {\n \"interval\": 0,\n \"type\": \"none\",\n },\n \"startTime\": \"09:00\",\n \"title\": \"수정된 회의\",\n}\n\n\u001b[31m+ Received:\u001b[39m \nundefined\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:97:36\n 95| });\n 96| \n 97| expect(result.current.events[0]).toEqual(updatedEvent);\n | ^\n 98| });\n 99| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[19/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 존재하는 이벤트 삭제 시 에러없이 아이템이 삭제된다.\nAssertionError: expected { events: [] } to deeply equal []\n\n\u001b[32m- Expected:\u001b[39m \n[]\n\n\u001b[31m+ Received:\u001b[39m \n{\n \"events\": [],\n}\n\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:111:33\n 109| await act(() => Promise.resolve(null));\n 110| \n 111| expect(result.current.events).toEqual([]);\n | ^\n 112| });\n 113| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[20/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 이벤트 로딩 실패 시 '이벤트 로딩 실패'라는 텍스트와 함께 에러 토스트가 표시되어야 한다\nAssertionError: expected \"spy\" to be called with arguments: [ '이벤트 로딩 실패', { variant: 'error' } ]\u001b[90m\n\nNumber of calls: \u001b[1m0\u001b[22m\n\u001b[39m\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:125:29\n 123| await act(() => Promise.resolve(null));\n 124| \n 125| expect(enqueueSnackbarFn).toHaveBeenCalledWith('이벤트 로딩 실패', { varian…\n | ^\n 126| \n 127| server.resetHandlers();\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[21/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 존재하지 않는 이벤트 수정 시 '일정 저장 실패'라는 토스트가 노출되며 에러 처리가 되어야 한다\nError: Failed to save event\n ❯ Object.saveEvent src/hooks/useEventOperations.ts:36:31\n 34| });\n 35| \n 36| if (!response.ok) throw new Error('Failed to save event');\n | ^\n 37| \n 38| await fetchEvents();\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:149:5\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[22/30]⎯\n\n FAIL src/__tests__/hooks/medium.useEventOperations.spec.ts > 네트워크 오류 시 '일정 삭제 실패'라는 텍스트가 노출되며 이벤트 삭제가 실패해야 한다\nError: Failed to delete event\n ❯ Object.deleteEvent src/hooks/useEventOperations.ts:55:31\n 53| });\n 54| \n 55| if (!response.ok) throw new Error('Failed to delete event');\n | ^\n 56| \n 57| await fetchEvents();\n ❯ src/__tests__/hooks/medium.useEventOperations.spec.ts:167:5\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[23/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2024년은 윤년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:10:20\n 8| \n 9| // Act\n 10| const result = isLeapYear(year);\n | ^\n 11| \n 12| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[24/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2025년은 평년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:21:20\n 19| \n 20| // Act\n 21| const result = isLeapYear(year);\n | ^\n 22| \n 23| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[25/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 2000년은 윤년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:32:20\n 30| \n 31| // Act\n 32| const result = isLeapYear(year);\n | ^\n 33| \n 34| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[26/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > isLeapYear > 1900년은 평년이다\nTypeError: (0 , isLeapYear) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:43:20\n 41| \n 42| // Act\n 43| const result = isLeapYear(year);\n | ^\n 44| \n 45| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[27/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 2024년 1월의 마지막 날은 31일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:107:20\n 105| \n 106| // Act\n 107| const result = getLastDayOfMonth(year, month);\n | ^\n 108| \n 109| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[28/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 윤년 2월의 마지막 날은 29일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:119:20\n 117| \n 118| // Act\n 119| const result = getLastDayOfMonth(year, month);\n | ^\n 120| \n 121| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[29/30]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts > getLastDayOfMonth > 평년 2월의 마지막 날은 28일이다\nTypeError: (0 , getLastDayOfMonth) is not a function\n ❯ src/__tests__/unit/dateUtils.spec.ts:131:20\n 129| \n 130| // Act\n 131| const result = getLastDayOfMonth(year, month);\n | ^\n 132| \n 133| // Assert\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[30/30]⎯\n\n⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯\n\nVitest caught 4 unhandled errors during the test run.\nThis might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n\n⎯⎯⎯⎯⎯ Uncaught Exception ⎯⎯⎯⎯⎯\nTypeError: events.filter is not a function\n ❯ App src/App.tsx:71:33\n 69| const categories = ['업무', '개인', '가족', '기타'];\n 70| \n 71| const filteredEvents = events.filter(event =>\n | ^\n 72| event.title.toLowerCase().includes(searchTerm.toLowerCase()) ||\n 73| event.description.toLowerCase().includes(searchTerm.toLowerCase())…\n ❯ Object.react-stack-bottom-frame node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:23863:20\n ❯ renderWithHooks node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:5529:22\n ❯ updateFunctionComponent node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:8897:19\n ❯ beginWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:10522:18\n ❯ runWithFiberInDEV node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:1522:13\n ❯ performUnitOfWork node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:15140:22\n ❯ workLoopSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14956:41\n ❯ renderRootSync node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14936:11\n ❯ performWorkOnRoot node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules/react-dom/cjs/react-dom-client.development.js:14462:44\n\nThis error originated in \"src/__tests__/medium.integration.spec.tsx\" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.\nThe latest test that might've caused the error is \"notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\". It might mean one of the following:\n- The error was thrown, while Vitest was running this test.\n- If the error occurred after the test had been completed, this was the last documented test before it was thrown.\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯\n\n\n at genericNodeError (node:internal/errors:984:15)\n at wrappedFn (node:internal/errors:538:14)\n at ChildProcess.exithandler (node:child_process:422:12)\n at ChildProcess.emit (node:events:518:28)\n at maybeClose (node:internal/child_process:1105:16)\n at ChildProcess._handle.onexit (node:internal/child_process:305:5)"}
+[2025-10-29T17:01:12.664Z] [INFO] [command-runner] STEP: Running tests...
+[2025-10-29T17:01:12.665Z] [INFO] [command-runner] Executing: pnpm test
+[2025-10-29T17:01:20.416Z] [ERROR] [command-runner] Command failed (7749ms) {"message":"Command failed: pnpm test\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > 일정 충돌 > 기존 일정의 시간을 수정하여 충돌이 발생하면 경고가 노출된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\nstderr | src/__tests__/medium.integration.spec.tsx > notificationTime을 10으로 하면 지정 시간 10분 전 알람 텍스트가 노출된다\nTypeError: events.filter is not a function\n at App \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39msrc/App.tsx:71:33\u001b[90m)\u001b[39m\n at Object.react-stack-bottom-frame \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:23863:20\u001b[90m)\u001b[39m\n at renderWithHooks \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:5529:22\u001b[90m)\u001b[39m\n at updateFunctionComponent \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:8897:19\u001b[90m)\u001b[39m\n at beginWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:10522:18\u001b[90m)\u001b[39m\n at runWithFiberInDEV \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:1522:13\u001b[90m)\u001b[39m\n at performUnitOfWork \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:15140:22\u001b[90m)\u001b[39m\n at workLoopSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14956:41\u001b[90m)\u001b[39m\n at renderRootSync \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14936:11\u001b[90m)\u001b[39m\n at performWorkOnRoot \u001b[90m(/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/\u001b[39mnode_modules/\u001b[4m.pnpm\u001b[24m/react-dom@19.1.0_react@19.1.0/node_modules/\u001b[4mreact-dom\u001b[24m/cjs/react-dom-client.development.js:14462:44\u001b[90m)\u001b[39m\nAn error occurred in the component.\n\nConsider adding an error boundary to your tree to customize error handling behavior.\nVisit https://react.dev/link/error-boundaries to learn more about error boundaries.\n\n\n\n⎯⎯⎯⎯⎯⎯ Failed Suites 3 ⎯⎯⎯⎯⎯⎯⎯\n\n FAIL src/__tests__/hooks/useEventForm.spec.ts [ src/__tests__/hooks/useEventForm.spec.ts ]\nError: \u001b[31mx\u001b[0m Unexpected eof\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/hooks/useEventForm.spec.ts\u001b[0m:32:1]\n \u001b[2m29\u001b[0m | const { result } = renderHook(() => useEventForm());\n \u001b[2m30\u001b[0m | \n \u001b[2m31\u001b[0m | // Act\n \u001b[2m32\u001b[0m | act(()\n `----\n\n\nCaused by:\n Syntax Error\n Plugin: vite:react-swc\n File: /Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/hooks/useEventForm.spec.ts\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/24]⎯\n\n FAIL src/__tests__/unit/dateUtils.spec.ts [ src/__tests__/unit/dateUtils.spec.ts ]\nError: \u001b[31mx\u001b[0m Expected '}', got ''\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/unit/dateUtils.spec.ts\u001b[0m:137:1]\n \u001b[2m134\u001b[0m | const result = isValidDate(year, month, day);\n \u001b[2m135\u001b[0m | \n \u001b[2m136\u001b[0m | // Assert\n \u001b[2m137\u001b[0m | expect(result).toBe(false);\n : \u001b[35;1m ^\u001b[0m\n `----\n \u001b[31mx\u001b[0m Unexpected eof\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/unit/dateUtils.spec.ts\u001b[0m:137:1]\n \u001b[2m134\u001b[0m | const result = isValidDate(year, month, day);\n \u001b[2m135\u001b[0m | \n \u001b[2m136\u001b[0m | // Assert\n \u001b[2m137\u001b[0m | expect(result).toBe(false);\n `----\n\n\nCaused by:\n Syntax Error\n Plugin: vite:react-swc\n File: /Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/__tests__/unit/dateUtils.spec.ts\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/24]⎯\n\n FAIL src/__tests__/unit/repeatUtils.spec.ts [ src/__tests__/unit/repeatUtils.spec.ts ]\nError: \u001b[31mx\u001b[0m Expected '}', got ''\n ,-[\u001b[36;1;4m/Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/utils/repeatUtils.ts\u001b[0m:82:1]\n \u001b[2m79\u001b[0m | export function isTimeOverlapping(\n \u001b[2m80\u001b[0m | event1: { startTime: string; endTime: string },\n \u001b[2m81\u001b[0m | event2: { startTime: string; endTime: string }\n \u001b[2m82\u001b[0m | ): boolean {\n : \u001b[35;1m ^\u001b[0m\n `----\n\n\nCaused by:\n Syntax Error\n Plugin: vite:react-swc\n File: /Users/kimchaeyeong/Documents/github/front_7th_chapter1-2/src/utils/repeatUtils.ts\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/24]⎯\n\n\n⎯⎯⎯⎯⎯⎯ Failed Tests 21 ⎯⎯⎯⎯⎯⎯⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 입력한 새로운 일정 정보에 맞춰 모든 필드가 이벤트 리스트에 정확히 저장된다.\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 CRUD 및 기본 기능 > 기존 일정의 세부 정보를 수정하고 변경사항이 정확히 반영된다\nTestingLibraryElementError: Unable to find a label with the text of: Edit event\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByLabelText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:87:35\n 85| setupMockHandlerUpdating();\n 86| \n 87| await user.click(await screen.findByLabelText('Edit event'));\n | ^\n 88| \n 89| await user.clear(screen.getByLabelText('제목'));\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/24]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 CRUD 및 기본 기능 > 일정을 삭제하고 더 이상 조회되지 않는지 확인한다\nTestingLibraryElementError: Unable to find an element by: [data-testid=\"event-list\"]\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 105| const eventList = within(screen.getByTestId('event-list'));\n | ^\n 106| expect(await eventList.findByText('삭제할 이벤트')).toBeInTheDocument();\n 107| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/24]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 주별 뷰를 선택 후 해당 주에 일정이 없으면, 일정이 표시되지 않는다.\nTestingLibraryElementError: Unable to find a label with the text of: 뷰 타입 선택\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
);\n 120| \n 121| await user.click(within(screen.getByLabelText('뷰 타입 선택')).getByRol…\n | ^\n 122| await user.click(screen.getByRole('option', { name: 'week-option' …\n 123| \n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/24]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 주별 뷰 선택 후 해당 일자에 일정이 존재한다면 해당 일정이 정확히 표시된다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m일정 제목\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m날짜\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m시작 시간\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m \u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
일정 뷰 > 월별 뷰에 일정이 없으면, 일정이 표시되지 않아야 한다.\nTestingLibraryElementError: Unable to find an element with the text: 일정 로딩 완료!. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n\u001b[36m\u001b[39m\n ❯ waitForWrapper node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/wait-for.js:163:27\n ❯ findByText node_modules/.pnpm/@testing-library+dom@10.4.0/node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n ❯ src/__tests__/medium.integration.spec.tsx:158:18\n 156| \n 157| // ! 일정 로딩 완료 후 테스트\n 158| await screen.findByText('일정 로딩 완료!');\n | ^\n 159| \n 160| const eventList = within(screen.getByTestId('event-list'));\n\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/24]⎯\n\n FAIL src/__tests__/medium.integration.spec.tsx > 일정 뷰 > 월별 뷰에 일정이 정확히 표시되는지 확인한다\nTestingLibraryElementError: Unable to find an element with the text: 일정 추가. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[0m캘린더 앱\u001b[0m\n \u001b[36m \u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m