Skip to content

fix: resolve CI pipeline failures by removing @convex-dev/testing dependency #16

fix: resolve CI pipeline failures by removing @convex-dev/testing dependency

fix: resolve CI pipeline failures by removing @convex-dev/testing dependency #16

Triggered via pull request May 26, 2025 22:27
Status Failure
Total duration 2m 6s
Artifacts 1

test.yml

on: pull_request
Unit Tests
28s
Unit Tests
Smart Contract Tests
24s
Smart Contract Tests
Integration Tests
24s
Integration Tests
E2E Tests
1m 59s
E2E Tests
Security Scan
30s
Security Scan
Lint & Type Check
40s
Lint & Type Check
Fit to window
Zoom out
Zoom in

Annotations

31 errors and 1 warning
Smart Contract Tests
Process completed with exit code 5.
Unit Tests
Process completed with exit code 1.
src/lib/__tests__/security.test.ts > Security Utils > isValidTransactionHash > should validate transaction hashes: src/lib/__tests__/security.test.ts#L128
AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false ❯ src/lib/__tests__/security.test.ts:128:139
src/lib/__tests__/security.test.ts > Security Utils > sanitizeInput > should remove SQL injection attempts: src/lib/__tests__/security.test.ts#L20
AssertionError: expected 'DROP TABLE users --' to be ' DROP TABLE users ' // Object.is equality Expected: " DROP TABLE users " Received: "DROP TABLE users --" ❯ src/lib/__tests__/security.test.ts:20:56
src/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > displays blockchain information: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > toggles feature checkboxes: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > allows user to fill form: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > has submit button: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > shows all feature checkboxes: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > displays blockchain options: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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/components/__tests__/CoinGenerator.test.tsx > CoinGenerator > renders all form fields: src/components/CoinGenerator.tsx#L21
Error: [vitest] No "useAction" export is defined on the "convex/react" 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("convex/react"), async (importOriginal) => { const actual = await importOriginal() return { ...actual, // your mocked methods } }) ❯ CoinGenerator src/components/CoinGenerator.tsx:21:22 ❯ 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
Lint & Type Check: convex/analytics/blockchainData.ts#L95
Type of property 'blockchainData' circularly references itself in mapped type '{ getCoinAnalytics: FunctionReference<"query", "public", { timeframe?: "1h" | "24h" | "7d" | "30d" | undefined; coinId: Id<"memeCoins">; }, { data: { _id: Id<"analytics">; _creationTime: number; ... 8 more ...; timestamp: number; }[]; latest: { ...; } | null; timeframe: "1h" | ... 2 more ... | "30d"; }, string | und...'.
Lint & Type Check: convex/analytics/blockchainData.ts#L95
Type instantiation is excessively deep and possibly infinite.
Lint & Type Check: convex/analytics/blockchainData.ts#L95
'bondingCurve' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L89
'handler' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
Lint & Type Check: convex/analytics/blockchainData.ts#L85
'updateAnalyticsFromBlockchain' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L21
'state' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L14
'bondingCurve' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L12
'handler' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
Lint & Type Check: convex/analytics/blockchainData.ts#L6
'fetchTokenPrice' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics.ts#L130
Property 'collect' does not exist on type 'Promise<{ _id: Id<"analytics">; _creationTime: number; currentPrice?: number | undefined; coinId: Id<"memeCoins">; price: number; marketCap: number; volume24h: number; holders: number; transactions24h: number; priceChange24h: number; timestamp: number; }[]>'.
Lint & Type Check: convex/analytics/blockchainData.ts#L95
Type of property 'blockchainData' circularly references itself in mapped type '{ getCoinAnalytics: FunctionReference<"query", "public", { timeframe?: "1h" | "24h" | "7d" | "30d" | undefined; coinId: Id<"memeCoins">; }, { data: { _id: Id<"analytics">; _creationTime: number; ... 8 more ...; timestamp: number; }[]; latest: { ...; } | null; timeframe: "1h" | ... 2 more ... | "30d"; }, string | und...'.
Lint & Type Check: convex/analytics/blockchainData.ts#L95
Type instantiation is excessively deep and possibly infinite.
Lint & Type Check: convex/analytics/blockchainData.ts#L95
'bondingCurve' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L89
'handler' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
Lint & Type Check: convex/analytics/blockchainData.ts#L85
'updateAnalyticsFromBlockchain' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L21
'state' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L14
'bondingCurve' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics/blockchainData.ts#L12
'handler' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions.
Lint & Type Check: convex/analytics/blockchainData.ts#L6
'fetchTokenPrice' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer.
Lint & Type Check: convex/analytics.ts#L130
Property 'collect' does not exist on type 'Promise<{ _id: Id<"analytics">; _creationTime: number; currentPrice?: number | undefined; coinId: Id<"memeCoins">; price: number; marketCap: number; volume24h: number; holders: number; transactions24h: number; priceChange24h: number; timestamp: number; }[]>'.
Unit Tests
Codecov: Failed to properly upload report: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1

Artifacts

Produced during runtime
Name Size Digest
playwright-report Expired
192 KB
sha256:7a4f5a56af5ff3b8954ed70ca5e7cd9fb05ab92332778c2916b37b3add4a1a25