fix: resolve CI pipeline failures by removing @convex-dev/testing dependency #16
test.yml
on: pull_request
Unit Tests
28s
Smart Contract Tests
24s
Integration Tests
24s
E2E Tests
1m 59s
Security Scan
30s
Lint & Type Check
40s
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
|
|