Run code analyze triggered with pull request by BHyeonKim #21
code-analyze-pr.yml
on: pull_request
code_analysis
1m 4s
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
|