feat: add drag-to-rebalance interactive mode for AllocationPieChart (#1466) #818
Annotations
10 errors and 1 warning
|
[0] src/components/PerformanceChart.test.tsx > PerformanceChart > Rendering with known snapshot data > should render chart data points correctly for known input:
frontend/src/hooks/queries/useHistoryQuery.ts#L10
Error: No QueryClient set, use QueryClientProvider to set one
❯ useQueryClient node_modules/@tanstack/react-query/src/QueryClientProvider.tsx:18:10
❯ useBaseQuery node_modules/@tanstack/react-query/src/useBaseQuery.ts:54:17
❯ useQuery node_modules/@tanstack/react-query/src/useQuery.ts:46:9
❯ useRebalanceHistory src/hooks/queries/useHistoryQuery.ts:10:12
❯ PerformanceChart src/components/PerformanceChart.tsx:73:83
❯ renderWithHooks node_modules/react-dom/cjs/react-dom.development.js:15486:18
❯ mountIndeterminateComponent node_modules/react-dom/cjs/react-dom.development.js:20103:13
❯ beginWork node_modules/react-dom/cjs/react-dom.development.js:21626:16
❯ beginWork$1 node_modules/react-dom/cjs/react-dom.development.js:27465:14
❯ performUnitOfWork node_modules/react-dom/cjs/react-dom.development.js:26599:12
|
|
[0] src/components/NotificationPreferences.test.tsx > NotificationPreferences > calls mutation with correct payload when email preference is toggled:
frontend/src/components/NotificationPreferences.test.tsx#L74
AssertionError: expected "post" to be called with arguments: [ …(2) ]
Received:
1st post call:
@@ -9,10 +9,12 @@
"circuitBreaker": true,
"priceMovement": true,
"rebalance": true,
"riskChange": true,
},
+ "telegramChatId": "",
+ "telegramEnabled": false,
"userId": "user-1",
"webhookEnabled": false,
"webhookUrl": "",
},
]
Number of calls: 1
Ignored nodes: comments, script, style
<html>
<head />
<body>
<div>
<div
class="bg-white rounded-xl p-6 shadow-sm"
>
<div
class="flex items-center justify-between mb-6"
>
<div
class="flex items-center"
>
<svg
class="w-6 h-6 text-blue-600 mr-2"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"
/>
<path
d="M10.3 21a1.94 1.94 0 0 0 3.4 0"
/>
</svg>
<h2
class="text-xl font-semibold text-gray-900"
>
Notifications
</h2>
</div>
</div>
<div
aria-live="polite"
class="mb-4 p-3 bg-green-50 border border-green-200 rounded-lg flex items-center text-green-800"
role="status"
style="opacity: 1; transform: none;"
>
<svg
class="w-5 h-5 mr-2 flex-shrink-0"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M22 11.08V12a10 10 0 1 1-5.93-9.14"
/>
<polyline
points="22 4 12 14.01 9 11.01"
/>
</svg>
<span
class="text-sm"
>
Preferences saved successfully
</span>
</div>
<div
class="mb-6 p-4 border border-gray-200 rounded-lg bg-gray-50"
>
<div
class="flex items-center mb-2"
>
<svg
class="w-5 h-5 text-gray-600 mr-2"
fill="none"
height="24"
stroke="currentColor"
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
/>
<polyline
points="7 10 12 15 17 10"
/>
<line
x1="12"
x2="12"
y1="15"
y2="3"
/>
</svg>
<span
class="font-medium text-gray-900"
>
Export your data
</span>
</div>
<p
class="text-sm text-gray-600 mb-3"
>
Download your portfolio data and rebalance history (GDPR right-to-data).
</p>
<p
class="text-sm text-gray-500"
>
Connect your wallet and open a portfolio to export from the Overview tab.
</p>
</div>
<div
class="space-y-6 mb-6"
>
<div
class="border border-gray-200 rounded-lg p-4"
>
<div
class="flex items-center justify-between mb-2"
>
<div
class="flex items-center"
>
<svg
|
|
[0] src/components/NetworkMismatchBanner.test.tsx:
frontend/src/components/NetworkMismatchBanner.tsx#L3
Error: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock
❯ src/components/NetworkMismatchBanner.tsx:3:1
Caused by: Caused by: Error: Transform failed with 1 error:
[PARSE_ERROR] Unexpected token
╭─[ src/utils/walletAdapters.ts:220:5 ]
│
220 │ }
│ ┬
│ ╰──
─────╯
Plugin: vite:oxc
File: /home/runner/work/stellar-portfolio-rebalancer/stellar-portfolio-rebalancer/frontend/src/utils/walletAdapters.ts
❯ transformWithOxc node_modules/vitest/node_modules/vite/dist/node/chunks/node.js:4033:19
❯ TransformPluginContext.transform node_modules/vitest/node_modules/vite/dist/node/chunks/node.js:4104:26
❯ EnvironmentPluginContainer.transform node_modules/vitest/node_modules/vite/dist/node/chunks/node.js:30201:51
❯ loadAndTransform node_modules/vitest/node_modules/vite/dist/node/chunks/node.js:20124:26
❯ fetchModule node_modules/vitest/node_modules/vite/dist/node/chunks/node.js:33584:15
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > renders error fallback when portfolio fetching throws:
frontend/src/components/Dashboard.test.tsx#L138
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderDashboard src/components/Dashboard.test.tsx:138:24
❯ src/components/Dashboard.test.tsx:334:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > opens rebalance preview before confirming manual rebalance:
frontend/src/components/Dashboard.test.tsx#L138
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderDashboard src/components/Dashboard.test.tsx:138:24
❯ src/components/Dashboard.test.tsx:319:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > renders loading state while portfolio data is fetching:
frontend/src/components/Dashboard.test.tsx#L9
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderWithClient src/components/Dashboard.test.tsx:9:29
❯ src/components/Dashboard.test.tsx:262:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > renders the day-change with AA-compliant green tokens (not text-green-500 on white):
frontend/src/components/Dashboard.test.tsx#L9
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderWithClient src/components/Dashboard.test.tsx:9:29
❯ src/components/Dashboard.test.tsx:249:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > renders asset cards when portfolio data is populated:
frontend/src/components/Dashboard.test.tsx#L9
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderWithClient src/components/Dashboard.test.tsx:9:29
❯ src/components/Dashboard.test.tsx:232:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > offers clone as new when a saved portfolio is loaded:
frontend/src/components/Dashboard.test.tsx#L138
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderDashboard src/components/Dashboard.test.tsx:138:24
❯ src/components/Dashboard.test.tsx:203:9
|
|
[0] src/components/Dashboard.test.tsx > Dashboard > renders onboarding CTA for an empty portfolio:
frontend/src/components/Dashboard.test.tsx#L9
Error: [vitest] No "QueryClient" export is defined on the "@tanstack/react-query" 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("@tanstack/react-query"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ renderWithClient src/components/Dashboard.test.tsx:9:29
❯ src/components/Dashboard.test.tsx:158:9
|
|
coverage
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|