Skip to content

Run code analyze triggered with pull request by BHyeonKim #21

Run code analyze triggered with pull request by BHyeonKim

Run code analyze triggered with pull request by BHyeonKim #21

Triggered via pull request August 2, 2025 07:23
Status Failure
Total duration 1m 9s
Artifacts

code-analyze-pr.yml

on: pull_request
code_analysis
1m 4s
code_analysis
Fit to window
Zoom out
Zoom in

Annotations

11 errors
code_analysis
Process completed with exit code 1.
src/widgets/navbar/ui/NavBar/NavBar.test.tsx > NavBar 컴포넌트 테스트 > 메뉴 버튼을 누르면 onClickMenuButton이 호출된다.: src/widgets/navbar/ui/NavBar/index.tsx#L32
Error: [vitest] No "useLocation" export is defined on the "react-router" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("react-router"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ NavBar src/widgets/navbar/ui/NavBar/index.tsx:32:19 ❯ Object.react-stack-bottom-frame node_modules/react-dom/cjs/react-dom-client.development.js:23863:20 ❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:5529:22 ❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:8897:19 ❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:10522:18 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:1522:13 ❯ performUnitOfWork node_modules/react-dom/cjs/react-dom-client.development.js:15140:22 ❯ workLoopSync node_modules/react-dom/cjs/react-dom-client.development.js:14956:41
src/widgets/navbar/ui/NavBar/NavBar.test.tsx > NavBar 컴포넌트 테스트 > 로그아웃 버튼을 누르면 submit으로 액션을 발생시킨다.: src/widgets/navbar/ui/NavBar/index.tsx#L32
Error: [vitest] No "useLocation" export is defined on the "react-router" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("react-router"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ NavBar src/widgets/navbar/ui/NavBar/index.tsx:32:19 ❯ Object.react-stack-bottom-frame node_modules/react-dom/cjs/react-dom-client.development.js:23863:20 ❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:5529:22 ❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:8897:19 ❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:10522:18 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:1522:13 ❯ performUnitOfWork node_modules/react-dom/cjs/react-dom-client.development.js:15140:22 ❯ workLoopSync node_modules/react-dom/cjs/react-dom-client.development.js:14956:41
src/widgets/navbar/ui/NavBar/NavBar.test.tsx > NavBar 컴포넌트 테스트 > 로그아웃이 되어있으면 로그인 버튼이 보인다.: src/widgets/navbar/ui/NavBar/index.tsx#L32
Error: [vitest] No "useLocation" export is defined on the "react-router" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("react-router"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ NavBar src/widgets/navbar/ui/NavBar/index.tsx:32:19 ❯ Object.react-stack-bottom-frame node_modules/react-dom/cjs/react-dom-client.development.js:23863:20 ❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:5529:22 ❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:8897:19 ❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:10522:18 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:1522:13 ❯ performUnitOfWork node_modules/react-dom/cjs/react-dom-client.development.js:15140:22 ❯ workLoopSync node_modules/react-dom/cjs/react-dom-client.development.js:14956:41
src/widgets/navbar/ui/NavBar/NavBar.test.tsx > NavBar 컴포넌트 테스트 > 로그인이 되어있으면 로그아웃 버튼이 보여진다.: src/widgets/navbar/ui/NavBar/index.tsx#L32
Error: [vitest] No "useLocation" export is defined on the "react-router" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("react-router"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ NavBar src/widgets/navbar/ui/NavBar/index.tsx:32:19 ❯ Object.react-stack-bottom-frame node_modules/react-dom/cjs/react-dom-client.development.js:23863:20 ❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:5529:22 ❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:8897:19 ❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:10522:18 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:1522:13 ❯ performUnitOfWork node_modules/react-dom/cjs/react-dom-client.development.js:15140:22 ❯ workLoopSync node_modules/react-dom/cjs/react-dom-client.development.js:14956:41
src/widgets/navbar/ui/NavBar/NavBar.test.tsx > NavBar 컴포넌트 테스트 > 초기 상태에서 NavBar가 보여진다.: src/widgets/navbar/ui/NavBar/index.tsx#L32
Error: [vitest] No "useLocation" export is defined on the "react-router" mock. Did you forget to return it from "vi.mock"? If you need to partially mock a module, you can use "importOriginal" helper inside: vi.mock(import("react-router"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ NavBar src/widgets/navbar/ui/NavBar/index.tsx:32:19 ❯ Object.react-stack-bottom-frame node_modules/react-dom/cjs/react-dom-client.development.js:23863:20 ❯ renderWithHooks node_modules/react-dom/cjs/react-dom-client.development.js:5529:22 ❯ updateFunctionComponent node_modules/react-dom/cjs/react-dom-client.development.js:8897:19 ❯ beginWork node_modules/react-dom/cjs/react-dom-client.development.js:10522:18 ❯ runWithFiberInDEV node_modules/react-dom/cjs/react-dom-client.development.js:1522:13 ❯ performUnitOfWork node_modules/react-dom/cjs/react-dom-client.development.js:15140:22 ❯ workLoopSync node_modules/react-dom/cjs/react-dom-client.development.js:14956:41
src/widgets/auth/ui/LoginModal/LoginModal.test.tsx > LoginModal 컴포넌트 테스트 > Backdrop을 클릭하면 navigate가 호출된다.: src/widgets/auth/ui/LoginModal/LoginModal.test.tsx#L30
AssertionError: expected 1st "spy" call to have been called with [ -1 ] - Expected + Received [ - -1, + undefined, ] ❯ src/widgets/auth/ui/LoginModal/LoginModal.test.tsx:30:20
src/features/coin-search-list/ui/CoinListWithSearchBar/CoinListWithSearchBar.test.tsx > CoinListWithSearchBar 컴포넌트 테스트 > 사용자가 검색창에 티커를 입력하면 필터링된 리스트가 렌더링 된다.: src/features/coin-search-list/ui/CoinListWithSearchBar/CoinListWithSearchBar.test.tsx#L84
TestingLibraryElementError: Unable to find an accessible element with the role "link" Here are the accessible roles: textbox: Name "": <input class="h-8 w-full rounded-sm bg-gray-100 px-3 pl-8" placeholder="가상자산 검색" type="text" value="BTC" /> -------------------------------------------------- button: Name "🪙 BTC 비트코인 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> -------------------------------------------------- Ignored nodes: comments, script, style <body> <div> <div class="flex min-h-0 flex-1 flex-col bg-white" data-testid="coin-list-with-search-bar" > <div class="px-2 py-3" > <div class="relative w-full" > <input class="h-8 w-full rounded-sm bg-gray-100 px-3 pl-8" placeholder="가상자산 검색" type="text" value="BTC" /> <svg class="-translate-y-1/2 absolute top-1/2 left-2 w-4 object-center" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" > <path d="M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288" /> </svg> </div> </div> <div class="flex items-center border-gray-200 border-t px-2 py-3" > <div class="flex-1 text-gray-500 text-sm" > <span> 가상자산 명 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 가격 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 변동률 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 거래량 </span> </div> </div> <div class="scrollbar-custom min-h-0 flex-1 overflow-y-scroll" > <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" > <div class="flex-1" > <div class="flex w-fit flex-col" data-testid="coin-with-icon-and-name" > <div class="flex gap-1" > <span class="inline-block h-fit w-fit overflow-visible" > 🪙 </span> <span class="font-semibold" > BTC </span> </div> <span class="px-1.5 text-gray-500 text-xs" > 비트코인 </span> </div> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0 원 </span> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0.00 % </span> </div> <div class="flex-1 text-right text-sm" > <span> 0 </span> </div> </button> </div> </div> </div> </body> ❯ Object.getElementError node_modules/@testing-library/dom/dist/config.js:37:19 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:76:38 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:109:15 ❯ src/features/coin-search-list/ui/CoinListWithSearchBar/CoinListWithSearchBar.test.tsx:84:17
src/features/coin-search-list/ui/CoinListWithSearchBar/CoinListWithSearchBar.test.tsx > CoinListWithSearchBar 컴포넌트 테스트 > 화면에 CoinListWithSearchBar가 렌더링 된다.: src/features/coin-search-list/ui/CoinListWithSearchBar/CoinListWithSearchBar.test.tsx#L68
TestingLibraryElementError: Unable to find an accessible element with the role "link" Here are the accessible roles: textbox: Name "": <input class="h-8 w-full rounded-sm bg-gray-100 px-3 pl-8" placeholder="가상자산 검색" type="text" value="" /> -------------------------------------------------- button: Name "🪙 BTC 비트코인 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> Name "🪙 ETH 이더리움 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> Name "🪙 TRUMP 트럼프 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> -------------------------------------------------- Ignored nodes: comments, script, style <body> <div> <div class="flex min-h-0 flex-1 flex-col bg-white" data-testid="coin-list-with-search-bar" > <div class="px-2 py-3" > <div class="relative w-full" > <input class="h-8 w-full rounded-sm bg-gray-100 px-3 pl-8" placeholder="가상자산 검색" type="text" value="" /> <svg class="-translate-y-1/2 absolute top-1/2 left-2 w-4 object-center" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" > <path d="M416 208c0 45.9-14.9 88.3-40 122.7l126.6 126.7c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208M208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288" /> </svg> </div> </div> <div class="flex items-center border-gray-200 border-t px-2 py-3" > <div class="flex-1 text-gray-500 text-sm" > <span> 가상자산 명 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 가격 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 변동률 </span> </div> <div class="flex-1 text-right text-gray-500 text-sm" > <span> 거래량 </span> </div> </div> <div class="scrollbar-custom min-h-0 flex-1 overflow-y-scroll" > <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" > <div class="flex-1" > <div class="flex w-fit flex-col" data-testid="coin-with-icon-and-name" > <div class="flex gap-1" > <span class="inline-block h-fit w-fit overflow-visible" > 🪙 </span> <span class="font-semibold" > BTC </span> </div> <span class="px-1.5 text-gray-500 text-xs" > 비트코인 </span> </div> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0 원 </span> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0.00 % </span> </div> <div class="flex-1 text-right text-sm" > <span> 0 </span> </div> </button> <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" > <div
src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx > CoinListItem 컴포넌트 테스트 > Link의 to 속성으로 prop의 to가 전달된다.: src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx#L51
TestingLibraryElementError: Unable to find an accessible element with the role "link" Here are the accessible roles: button: Name "🪙 BTC 비트코인 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> -------------------------------------------------- Ignored nodes: comments, script, style <body> <div> <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" > <div class="flex-1" > <div class="flex w-fit flex-col" data-testid="coin-with-icon-and-name" > <div class="flex gap-1" > <span class="inline-block h-fit w-fit overflow-visible" > 🪙 </span> <span class="font-semibold" > BTC </span> </div> <span class="px-1.5 text-gray-500 text-xs" > 비트코인 </span> </div> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0 원 </span> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0.00 % </span> </div> <div class="flex-1 text-right text-sm" > <span> 0 </span> </div> </button> </div> </body> ❯ Object.getElementError node_modules/@testing-library/dom/dist/config.js:37:19 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:76:38 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:52:17 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:95:19 ❯ src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx:51:31
src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx > CoinListItem 컴포넌트 테스트 > 화면에 CoinListItem이 렌더링 된다.: src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx#L44
TestingLibraryElementError: Unable to find an accessible element with the role "link" Here are the accessible roles: button: Name "🪙 BTC 비트코인 0원 0.00% 0": <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" /> -------------------------------------------------- Ignored nodes: comments, script, style <body> <div> <button class="flex w-[max(300px,100%)] cursor-pointer items-center py-1" type="button" > <div class="flex-1" > <div class="flex w-fit flex-col" data-testid="coin-with-icon-and-name" > <div class="flex gap-1" > <span class="inline-block h-fit w-fit overflow-visible" > 🪙 </span> <span class="font-semibold" > BTC </span> </div> <span class="px-1.5 text-gray-500 text-xs" > 비트코인 </span> </div> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0 원 </span> </div> <div class="flex-1 text-right text-sm" > <span class="text-blue-700" > 0.00 % </span> </div> <div class="flex-1 text-right text-sm" > <span> 0 </span> </div> </button> </div> </body> ❯ Object.getElementError node_modules/@testing-library/dom/dist/config.js:37:19 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:76:38 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:52:17 ❯ node_modules/@testing-library/dom/dist/query-helpers.js:95:19 ❯ src/features/coin-search-list/ui/CoinListItem/CoinListItem.test.tsx:44:31