diff --git a/frontend/.claude/tdd-guard/data/test.json b/frontend/.claude/tdd-guard/data/test.json index 7ec14ca..acbfe25 100644 --- a/frontend/.claude/tdd-guard/data/test.json +++ b/frontend/.claude/tdd-guard/data/test.json @@ -1,5 +1,899 @@ { "testModules": [ + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/AdminSectionHeader.test.tsx", + "tests": [ + { + "name": "should render with title and stats", + "fullName": "AdminSectionHeader should render with title and stats", + "state": "passed" + }, + { + "name": "should render with empty stats", + "fullName": "AdminSectionHeader should render with empty stats", + "state": "passed" + }, + { + "name": "should format large numbers with locale", + "fullName": "AdminSectionHeader should format large numbers with locale", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/components/DocumentCardMetadata.test.tsx", + "tests": [ + { + "name": "displays expiration date", + "fullName": "DocumentCardMetadata insurance documents displays expiration date", + "state": "passed" + }, + { + "name": "displays policy number", + "fullName": "DocumentCardMetadata insurance documents displays policy number", + "state": "passed" + }, + { + "name": "displays insurance company", + "fullName": "DocumentCardMetadata insurance documents displays insurance company", + "state": "passed" + }, + { + "name": "limits to 3 fields in card variant", + "fullName": "DocumentCardMetadata insurance documents limits to 3 fields in card variant", + "state": "passed" + }, + { + "name": "shows all fields in detail variant", + "fullName": "DocumentCardMetadata insurance documents shows all fields in detail variant", + "state": "passed" + }, + { + "name": "displays expiration date", + "fullName": "DocumentCardMetadata registration documents displays expiration date", + "state": "passed" + }, + { + "name": "displays license plate", + "fullName": "DocumentCardMetadata registration documents displays license plate", + "state": "passed" + }, + { + "name": "shows cost in detail variant only", + "fullName": "DocumentCardMetadata registration documents shows cost in detail variant only", + "state": "passed" + }, + { + "name": "displays issued date if set", + "fullName": "DocumentCardMetadata manual documents displays issued date if set", + "state": "passed" + }, + { + "name": "shows notes preview in detail variant only", + "fullName": "DocumentCardMetadata manual documents shows notes preview in detail variant only", + "state": "passed" + }, + { + "name": "truncates long notes in detail variant", + "fullName": "DocumentCardMetadata manual documents truncates long notes in detail variant", + "state": "passed" + }, + { + "name": "returns null when no metadata to display", + "fullName": "DocumentCardMetadata empty states returns null when no metadata to display", + "state": "passed" + }, + { + "name": "handles missing details gracefully", + "fullName": "DocumentCardMetadata empty states handles missing details gracefully", + "state": "passed" + }, + { + "name": "uses text-xs for mobile variant", + "fullName": "DocumentCardMetadata variant styling uses text-xs for mobile variant", + "state": "passed" + }, + { + "name": "uses text-sm for card variant", + "fullName": "DocumentCardMetadata variant styling uses text-sm for card variant", + "state": "passed" + }, + { + "name": "uses grid layout for detail variant", + "fullName": "DocumentCardMetadata variant styling uses grid layout for detail variant", + "state": "passed" + }, + { + "name": "formats premium correctly", + "fullName": "DocumentCardMetadata currency formatting formats premium correctly", + "state": "passed" + }, + { + "name": "handles string numbers", + "fullName": "DocumentCardMetadata currency formatting handles string numbers", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/components/ExpirationBadge.test.tsx", + "tests": [ + { + "name": "renders nothing for null", + "fullName": "ExpirationBadge when no expiration date is provided renders nothing for null", + "state": "passed" + }, + { + "name": "renders nothing for undefined", + "fullName": "ExpirationBadge when no expiration date is provided renders nothing for undefined", + "state": "passed" + }, + { + "name": "renders nothing for empty string", + "fullName": "ExpirationBadge when no expiration date is provided renders nothing for empty string", + "state": "passed" + }, + { + "name": "shows \"Expired\" badge for past dates", + "fullName": "ExpirationBadge when document is expired shows \"Expired\" badge for past dates", + "state": "passed" + }, + { + "name": "shows \"Expired\" badge for dates far in the past", + "fullName": "ExpirationBadge when document is expired shows \"Expired\" badge for dates far in the past", + "state": "passed" + }, + { + "name": "has red styling for expired badge", + "fullName": "ExpirationBadge when document is expired has red styling for expired badge", + "state": "passed" + }, + { + "name": "shows \"Expires today\" badge", + "fullName": "ExpirationBadge when document expires today shows \"Expires today\" badge", + "state": "passed" + }, + { + "name": "has amber styling for expiring soon badge", + "fullName": "ExpirationBadge when document expires today has amber styling for expiring soon badge", + "state": "passed" + }, + { + "name": "shows \"Expires tomorrow\" badge", + "fullName": "ExpirationBadge when document expires tomorrow shows \"Expires tomorrow\" badge", + "state": "passed" + }, + { + "name": "shows \"Expires in X days\" badge for 15 days", + "fullName": "ExpirationBadge when document expires within 30 days shows \"Expires in X days\" badge for 15 days", + "state": "passed" + }, + { + "name": "shows \"Expires in X days\" badge for 30 days", + "fullName": "ExpirationBadge when document expires within 30 days shows \"Expires in X days\" badge for 30 days", + "state": "passed" + }, + { + "name": "shows \"Expires in X days\" badge for 2 days", + "fullName": "ExpirationBadge when document expires within 30 days shows \"Expires in X days\" badge for 2 days", + "state": "passed" + }, + { + "name": "renders nothing for 31 days out", + "fullName": "ExpirationBadge when document expires after 30 days renders nothing for 31 days out", + "state": "passed" + }, + { + "name": "renders nothing for dates far in the future", + "fullName": "ExpirationBadge when document expires after 30 days renders nothing for dates far in the future", + "state": "passed" + }, + { + "name": "applies custom className to the badge", + "fullName": "ExpirationBadge className prop applies custom className to the badge", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/hooks/useBulkSelection.test.ts", + "tests": [ + { + "name": "should initialize with empty selection", + "fullName": "useBulkSelection should initialize with empty selection", + "state": "passed" + }, + { + "name": "should toggle individual item selection", + "fullName": "useBulkSelection should toggle individual item selection", + "state": "passed" + }, + { + "name": "should toggle all items", + "fullName": "useBulkSelection should toggle all items", + "state": "passed" + }, + { + "name": "should reset all selections", + "fullName": "useBulkSelection should reset all selections", + "state": "passed" + }, + { + "name": "should return selected items", + "fullName": "useBulkSelection should return selected items", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/shared/components/CameraCapture/__tests__/getInitialCropForGuidance.test.ts", + "tests": [ + { + "name": "returns undefined for \"none\" guidance type", + "fullName": "getInitialCropForGuidance returns undefined for \"none\" guidance type", + "state": "passed" + }, + { + "name": "returns centered 85%-width crop with 6:1 AR for VIN", + "fullName": "getInitialCropForGuidance returns centered 85%-width crop with 6:1 AR for VIN", + "state": "passed" + }, + { + "name": "returns centered 70%-height crop with 2:3 AR for receipt", + "fullName": "getInitialCropForGuidance returns centered 70%-height crop with 2:3 AR for receipt", + "state": "passed" + }, + { + "name": "returns centered 70%-height crop with 8.5:11 AR for document", + "fullName": "getInitialCropForGuidance returns centered 70%-height crop with 8.5:11 AR for document", + "state": "passed" + }, + { + "name": "returns crop areas within 0-100 bounds for all types", + "fullName": "getInitialCropForGuidance returns crop areas within 0-100 bounds for all types", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/utils/navigation-links.test.ts", + "tests": [ + { + "name": "uses coordinates when valid", + "fullName": "buildNavigationLinks uses coordinates when valid", + "state": "passed" + }, + { + "name": "falls back to query when coordinates are missing", + "fullName": "buildNavigationLinks falls back to query when coordinates are missing", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/catalogShared.test.ts", + "tests": [ + { + "name": "describes dependent counts for makes", + "fullName": "getCascadeSummary describes dependent counts for makes", + "state": "passed" + }, + { + "name": "returns empty string when nothing selected", + "fullName": "getCascadeSummary returns empty string when nothing selected", + "state": "passed" + }, + { + "name": "prefills parent context for create operations", + "fullName": "buildDefaultValues prefills parent context for create operations", + "state": "passed" + }, + { + "name": "hydrates existing entity data for editing engines", + "fullName": "buildDefaultValues hydrates existing entity data for editing engines", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/shared/components/CameraCapture/CameraCapture.test.tsx", + "tests": [ + { + "name": "shows loading state while requesting permission", + "fullName": "CameraCapture Permission handling shows loading state while requesting permission", + "state": "passed" + }, + { + "name": "shows error when permission denied", + "fullName": "CameraCapture Permission handling shows error when permission denied", + "state": "passed" + }, + { + "name": "shows error when camera unavailable", + "fullName": "CameraCapture Permission handling shows error when camera unavailable", + "state": "passed" + }, + { + "name": "shows viewfinder when camera access granted", + "fullName": "CameraCapture Viewfinder shows viewfinder when camera access granted", + "state": "passed" + }, + { + "name": "shows cancel button in viewfinder", + "fullName": "CameraCapture Viewfinder shows cancel button in viewfinder", + "state": "passed" + }, + { + "name": "calls onCancel when cancel button clicked", + "fullName": "CameraCapture Viewfinder calls onCancel when cancel button clicked", + "state": "passed" + }, + { + "name": "shows VIN guidance when guidanceType is vin", + "fullName": "CameraCapture Guidance overlay shows VIN guidance when guidanceType is vin", + "state": "passed" + }, + { + "name": "shows receipt guidance when guidanceType is receipt", + "fullName": "CameraCapture Guidance overlay shows receipt guidance when guidanceType is receipt", + "state": "passed" + }, + { + "name": "shows upload file button in viewfinder", + "fullName": "CameraCapture File fallback shows upload file button in viewfinder", + "state": "passed" + }, + { + "name": "switches to file fallback when upload file clicked", + "fullName": "CameraCapture File fallback switches to file fallback when upload file clicked", + "state": "passed" + }, + { + "name": "renders upload area", + "fullName": "FileInputFallback renders upload area", + "state": "passed" + }, + { + "name": "shows accepted formats", + "fullName": "FileInputFallback shows accepted formats", + "state": "passed" + }, + { + "name": "shows max file size", + "fullName": "FileInputFallback shows max file size", + "state": "passed" + }, + { + "name": "calls onCancel when cancel clicked", + "fullName": "FileInputFallback calls onCancel when cancel clicked", + "state": "passed" + }, + { + "name": "shows error for invalid file type", + "fullName": "FileInputFallback shows error for invalid file type", + "state": "passed" + }, + { + "name": "shows error for file too large", + "fullName": "FileInputFallback shows error for file too large", + "state": "passed" + }, + { + "name": "calls onFileSelect with valid file", + "fullName": "FileInputFallback calls onFileSelect with valid file", + "state": "passed" + }, + { + "name": "renders nothing when type is none", + "fullName": "GuidanceOverlay renders nothing when type is none", + "state": "passed" + }, + { + "name": "renders VIN guidance with correct description", + "fullName": "GuidanceOverlay renders VIN guidance with correct description", + "state": "passed" + }, + { + "name": "renders receipt guidance with correct description", + "fullName": "GuidanceOverlay renders receipt guidance with correct description", + "state": "passed" + }, + { + "name": "renders document guidance with correct description", + "fullName": "GuidanceOverlay renders document guidance with correct description", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/api/community-stations.api.test.ts", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "Cannot use 'import.meta' outside a module", + "name": "Error", + "stack": "Jest encountered an unexpected token\n\nJest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.\n\nOut of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.\n\nBy default \"node_modules\" folder is ignored by transformers.\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.\n • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript\n • To have some of your \"node_modules\" files transformed, you can specify a custom \"transformIgnorePatterns\" in your config.\n • If you need a custom transformation specify a \"transform\" option in your config.\n • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the \"moduleNameMapper\" config option.\n\nYou'll find more details and examples of these config options in the docs:\nhttps://jestjs.io/docs/configuration\nFor information about custom transformations, see:\nhttps://jestjs.io/docs/code-transformation\n\nDetails:\n\n/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/api/client.ts:46\nconst API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api';\n ^^^^\n\nSyntaxError: Cannot use 'import.meta' outside a module\n at new Script (node:vm:117:7)\n at Runtime.createScriptFromCode (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1505:14)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1399:25)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/api/community-stations.api.ts:5:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/api/community-stations.api.test.ts:6:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/api/stations.api.test.ts", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "Cannot use 'import.meta' outside a module", + "name": "Error", + "stack": "Jest encountered an unexpected token\n\nJest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.\n\nOut of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.\n\nBy default \"node_modules\" folder is ignored by transformers.\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.\n • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript\n • To have some of your \"node_modules\" files transformed, you can specify a custom \"transformIgnorePatterns\" in your config.\n • If you need a custom transformation specify a \"transform\" option in your config.\n • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the \"moduleNameMapper\" config option.\n\nYou'll find more details and examples of these config options in the docs:\nhttps://jestjs.io/docs/configuration\nFor information about custom transformations, see:\nhttps://jestjs.io/docs/code-transformation\n\nDetails:\n\n/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/api/client.ts:46\nconst API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api';\n ^^^^\n\nSyntaxError: Cannot use 'import.meta' outside a module\n at new Script (node:vm:117:7)\n at Runtime.createScriptFromCode (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1505:14)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1399:25)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/api/stations.api.ts:5:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/api/stations.api.test.ts:6:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/hooks/useStationsSearch.test.ts", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "Cannot use 'import.meta' outside a module", + "name": "Error", + "stack": "Jest encountered an unexpected token\n\nJest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.\n\nOut of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.\n\nBy default \"node_modules\" folder is ignored by transformers.\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.\n • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript\n • To have some of your \"node_modules\" files transformed, you can specify a custom \"transformIgnorePatterns\" in your config.\n • If you need a custom transformation specify a \"transform\" option in your config.\n • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the \"moduleNameMapper\" config option.\n\nYou'll find more details and examples of these config options in the docs:\nhttps://jestjs.io/docs/configuration\nFor information about custom transformations, see:\nhttps://jestjs.io/docs/code-transformation\n\nDetails:\n\n/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/api/client.ts:46\nconst API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api';\n ^^^^\n\nSyntaxError: Cannot use 'import.meta' outside a module\n at new Script (node:vm:117:7)\n at Runtime.createScriptFromCode (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1505:14)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1399:25)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/api/stations.api.ts:5:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/hooks/useStationsSearch.ts:6:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/hooks/useStationsSearch.test.ts:8:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/hooks/useCommunityStations.test.ts", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "Cannot use 'import.meta' outside a module", + "name": "Error", + "stack": "Jest encountered an unexpected token\n\nJest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.\n\nOut of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.\n\nBy default \"node_modules\" folder is ignored by transformers.\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.\n • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript\n • To have some of your \"node_modules\" files transformed, you can specify a custom \"transformIgnorePatterns\" in your config.\n • If you need a custom transformation specify a \"transform\" option in your config.\n • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the \"moduleNameMapper\" config option.\n\nYou'll find more details and examples of these config options in the docs:\nhttps://jestjs.io/docs/configuration\nFor information about custom transformations, see:\nhttps://jestjs.io/docs/code-transformation\n\nDetails:\n\n/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/api/client.ts:46\nconst API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api';\n ^^^^\n\nSyntaxError: Cannot use 'import.meta' outside a module\n at new Script (node:vm:117:7)\n at Runtime.createScriptFromCode (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1505:14)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1399:25)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/api/community-stations.api.ts:5:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/hooks/useCommunityStations.ts:6:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/hooks/useCommunityStations.test.ts:8:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/components/DocumentPreview.test.tsx", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "Cannot use 'import.meta' outside a module", + "name": "Error", + "stack": "Jest encountered an unexpected token\n\nJest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.\n\nOut of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.\n\nBy default \"node_modules\" folder is ignored by transformers.\n\nHere's what you can do:\n • If you are trying to use ECMAScript Modules, see https://jestjs.io/docs/ecmascript-modules for how to enable it.\n • If you are trying to use TypeScript, see https://jestjs.io/docs/getting-started#using-typescript\n • To have some of your \"node_modules\" files transformed, you can specify a custom \"transformIgnorePatterns\" in your config.\n • If you need a custom transformation specify a \"transform\" option in your config.\n • If you simply want to mock your non-JS modules (e.g. binary assets) you can stub them out with the \"moduleNameMapper\" config option.\n\nYou'll find more details and examples of these config options in the docs:\nhttps://jestjs.io/docs/configuration\nFor information about custom transformations, see:\nhttps://jestjs.io/docs/code-transformation\n\nDetails:\n\n/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/api/client.ts:46\nconst API_BASE_URL = import.meta.env.VITE_API_BASE_URL || '/api';\n ^^^^\n\nSyntaxError: Cannot use 'import.meta' outside a module\n at new Script (node:vm:117:7)\n at Runtime.createScriptFromCode (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1505:14)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1399:25)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/api/documents.api.ts:1:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/components/DocumentPreview.tsx:3:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/components/DocumentPreview.test.tsx:7:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/EmptyState.test.tsx", + "tests": [ + { + "name": "should render with title and description", + "fullName": "EmptyState should render with title and description", + "state": "passed" + }, + { + "name": "should render with icon", + "fullName": "EmptyState should render with icon", + "state": "passed" + }, + { + "name": "should render action button when provided", + "fullName": "EmptyState should render action button when provided", + "state": "passed" + }, + { + "name": "should not render action button when not provided", + "fullName": "EmptyState should not render action button when not provided", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/mobile/DocumentsMobileScreen.test.tsx", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "TextEncoder is not defined", + "name": "Error", + "stack": "ReferenceError: TextEncoder is not defined\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@auth0/auth0-react/node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js:1:10973)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/mobile/DocumentsMobileScreen.tsx:2:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/documents/mobile/DocumentsMobileScreen.test.tsx:8:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/SelectionToolbar.test.tsx", + "tests": [ + { + "name": "should not render when selectedCount is 0", + "fullName": "SelectionToolbar should not render when selectedCount is 0", + "state": "passed" + }, + { + "name": "should render when items are selected", + "fullName": "SelectionToolbar should render when items are selected", + "state": "passed" + }, + { + "name": "should call onClear when Clear button clicked", + "fullName": "SelectionToolbar should call onClear when Clear button clicked", + "state": "passed" + }, + { + "name": "should call onSelectAll when Select All button clicked", + "fullName": "SelectionToolbar should call onSelectAll when Select All button clicked", + "state": "passed" + }, + { + "name": "should render custom action buttons", + "fullName": "SelectionToolbar should render custom action buttons", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/useAdmins.test.tsx", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "TextEncoder is not defined", + "name": "Error", + "stack": "ReferenceError: TextEncoder is not defined\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@auth0/auth0-react/node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js:1:10973)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/useAdmins.test.tsx:7:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/AdminSkeleton.test.tsx", + "tests": [ + { + "name": "should render default number of rows", + "fullName": "AdminSkeleton SkeletonRow should render default number of rows", + "state": "passed" + }, + { + "name": "should render specified number of rows", + "fullName": "AdminSkeleton SkeletonRow should render specified number of rows", + "state": "failed", + "errors": [ + { + "message": "Error: expect(received).toHaveLength(expected)\n\nExpected length: 15\nReceived length: 20\nReceived object: [, , , , , , , , , , …]\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/AdminSkeleton.test.tsx:20:63)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + }, + { + "name": "should render default number of cards", + "fullName": "AdminSkeleton SkeletonCard should render default number of cards", + "state": "passed" + }, + { + "name": "should render specified number of cards", + "fullName": "AdminSkeleton SkeletonCard should render specified number of cards", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/useAdminAccess.test.tsx", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "TextEncoder is not defined", + "name": "Error", + "stack": "ReferenceError: TextEncoder is not defined\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@auth0/auth0-react/node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js:1:10973)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/useAdminAccess.test.tsx:7:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/CommunityStationCard.test.tsx", + "tests": [ + { + "name": "should render station details", + "fullName": "CommunityStationCard should render station details", + "state": "passed" + }, + { + "name": "should display 93 octane status", + "fullName": "CommunityStationCard should display 93 octane status", + "state": "passed" + }, + { + "name": "should display price when available", + "fullName": "CommunityStationCard should display price when available", + "state": "passed" + }, + { + "name": "should display status badge", + "fullName": "CommunityStationCard should display status badge", + "state": "passed" + }, + { + "name": "should show withdraw button for user view", + "fullName": "CommunityStationCard should show withdraw button for user view", + "state": "failed", + "errors": [ + { + "message": "TestingLibraryElementError: Found multiple elements with the role \"button\"\n\nHere are the matching elements:\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mShell Downtown\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mapproved\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m123 Main St\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDenver, CO, 80202\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBrand: Shell\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m93 Octane · w/ Ethanol\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m$3.599/gal\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNotes:\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGood quality fuel\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSubmitted by: \u001b[0m\n \u001b[0muser@example.com\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNavigate\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mPremium 93\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFavorite\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n at Object.getElementError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/config.js:37:19)\n at getElementError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:20:35)\n at getMultipleElementsFoundError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:23:10)\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:55:13\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/CommunityStationCard.test.tsx:66:19)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)", + "name": "TestingLibraryElementError" + } + ] + }, + { + "name": "should show approve and reject buttons for admin", + "fullName": "CommunityStationCard should show approve and reject buttons for admin", + "state": "passed" + }, + { + "name": "should call onWithdraw when withdraw button is clicked", + "fullName": "CommunityStationCard should call onWithdraw when withdraw button is clicked", + "state": "failed", + "errors": [ + { + "message": "TestingLibraryElementError: Found multiple elements with the role \"button\"\n\nHere are the matching elements:\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n\n(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)).\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mShell Downtown\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mapproved\u001b[0m\n \u001b[36m
\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m123 Main St\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDenver, CO, 80202\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mBrand: Shell\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m93 Octane · w/ Ethanol\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0m$3.599/gal\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNotes:\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mGood quality fuel\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mSubmitted by: \u001b[0m\n \u001b[0muser@example.com\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mNavigate\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mPremium 93\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mFavorite\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n at Object.getElementError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/config.js:37:19)\n at getElementError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:20:35)\n at getMultipleElementsFoundError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:23:10)\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:55:13\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/CommunityStationCard.test.tsx:94:35)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)", + "name": "TestingLibraryElementError" + } + ] + }, + { + "name": "should handle rejection with reason", + "fullName": "CommunityStationCard should handle rejection with reason", + "state": "passed" + }, + { + "name": "should work on mobile viewport", + "fullName": "CommunityStationCard should work on mobile viewport", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/shared-minimal/components/VehicleLimitDialog.test.tsx", + "tests": [ + { + "name": "renders when open", + "fullName": "VehicleLimitDialog Dialog rendering renders when open", + "state": "passed" + }, + { + "name": "does not render when closed", + "fullName": "VehicleLimitDialog Dialog rendering does not render when closed", + "state": "passed" + }, + { + "name": "displays current count and limit", + "fullName": "VehicleLimitDialog Props display displays current count and limit", + "state": "passed" + }, + { + "name": "displays free tier upgrade prompt", + "fullName": "VehicleLimitDialog Props display displays free tier upgrade prompt", + "state": "passed" + }, + { + "name": "displays pro tier upgrade prompt", + "fullName": "VehicleLimitDialog Props display displays pro tier upgrade prompt", + "state": "passed" + }, + { + "name": "shows tier chips for free user", + "fullName": "VehicleLimitDialog Props display shows tier chips for free user", + "state": "passed" + }, + { + "name": "shows tier chips for pro user", + "fullName": "VehicleLimitDialog Props display shows tier chips for pro user", + "state": "passed" + }, + { + "name": "calls onClose when \"Maybe Later\" is clicked", + "fullName": "VehicleLimitDialog User interactions calls onClose when \"Maybe Later\" is clicked", + "state": "passed" + }, + { + "name": "calls onClose when \"Upgrade (Coming Soon)\" is clicked", + "fullName": "VehicleLimitDialog User interactions calls onClose when \"Upgrade (Coming Soon)\" is clicked", + "state": "passed" + }, + { + "name": "renders fullscreen on mobile", + "fullName": "VehicleLimitDialog Mobile responsiveness renders fullscreen on mobile", + "state": "failed", + "errors": [ + { + "message": "Error: expect(received).toBeInTheDocument()\n\nreceived value must be an HTMLElement or an SVGElement.\nReceived has value: null\n at __EXTERNAL_MATCHER_TRAP__ (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/expect/build/index.js:325:30)\n at Object.throwingMatcher [as toBeInTheDocument] (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/expect/build/index.js:326:15)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/shared-minimal/components/VehicleLimitDialog.test.tsx:185:22)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + }, + { + "name": "shows close button on mobile", + "fullName": "VehicleLimitDialog Mobile responsiveness shows close button on mobile", + "state": "passed" + }, + { + "name": "hides close button on desktop", + "fullName": "VehicleLimitDialog Mobile responsiveness hides close button on desktop", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/BulkActionDialog.test.tsx", + "tests": [ + { + "name": "should render dialog when open", + "fullName": "BulkActionDialog should render dialog when open", + "state": "passed" + }, + { + "name": "should display list of items", + "fullName": "BulkActionDialog should display list of items", + "state": "passed" + }, + { + "name": "should call onConfirm when confirm button clicked", + "fullName": "BulkActionDialog should call onConfirm when confirm button clicked", + "state": "passed" + }, + { + "name": "should call onCancel when cancel button clicked", + "fullName": "BulkActionDialog should call onCancel when cancel button clicked", + "state": "passed" + }, + { + "name": "should disable buttons when loading", + "fullName": "BulkActionDialog should disable buttons when loading", + "state": "failed", + "errors": [ + { + "message": "TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name `/confirm/i`\n\nHere are the accessible roles:\n\n presentation:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n dialog:\n\n Name \"Delete Items?\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Delete Items?\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n list:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n listitem:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Cancel\":\n \u001b[36m\u001b[39m\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n progressbar:\n\n Name \"\":\n \u001b[36m\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mDelete Items?\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mThis action cannot be undone.\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mItem 1\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mItem 2\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mItem 3\u001b[0m\n \u001b[36m

\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[0mCancel\u001b[0m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n \u001b[36m\u001b[39m\n\u001b[36m\u001b[39m\n at Object.getElementError (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/config.js:37:19)\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at /Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/BulkActionDialog.test.tsx:55:34)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)", + "name": "TestingLibraryElementError" + } + ] + }, + { + "name": "should show loading spinner when loading", + "fullName": "BulkActionDialog should show loading spinner when loading", + "state": "failed", + "errors": [ + { + "message": "Error: expect(received).toBeInTheDocument()\n\nreceived value must be an HTMLElement or an SVGElement.\nReceived has value: null\n at __EXTERNAL_MATCHER_TRAP__ (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/expect/build/index.js:325:30)\n at Object.throwingMatcher [as toBeInTheDocument] (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/expect/build/index.js:326:15)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/BulkActionDialog.test.tsx:67:66)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + }, + { + "name": "should support custom button text", + "fullName": "BulkActionDialog should support custom button text", + "state": "passed" + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/StationCard.test.tsx", + "tests": [ + { + "name": "should render station name and address", + "fullName": "StationCard Rendering should render station name and address", + "state": "passed" + }, + { + "name": "should render station photo if available", + "fullName": "StationCard Rendering should render station photo if available", + "state": "passed" + }, + { + "name": "should render rating when available", + "fullName": "StationCard Rendering should render rating when available", + "state": "passed" + }, + { + "name": "should render distance chip", + "fullName": "StationCard Rendering should render distance chip", + "state": "passed" + }, + { + "name": "should not crash when photo is missing", + "fullName": "StationCard Rendering should not crash when photo is missing", + "state": "passed" + }, + { + "name": "should call onSave when bookmark button clicked (not saved)", + "fullName": "StationCard Save/Delete Actions should call onSave when bookmark button clicked (not saved)", + "state": "passed" + }, + { + "name": "should call onDelete when bookmark button clicked (saved)", + "fullName": "StationCard Save/Delete Actions should call onDelete when bookmark button clicked (saved)", + "state": "passed" + }, + { + "name": "should show filled bookmark icon when saved", + "fullName": "StationCard Save/Delete Actions should show filled bookmark icon when saved", + "state": "passed" + }, + { + "name": "should show outline bookmark icon when not saved", + "fullName": "StationCard Save/Delete Actions should show outline bookmark icon when not saved", + "state": "passed" + }, + { + "name": "should open Google Maps when directions button clicked", + "fullName": "StationCard Directions Link should open Google Maps when directions button clicked", + "state": "failed", + "errors": [ + { + "message": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: StringContaining \"google.com/maps\", \"_blank\"\n\nNumber of calls: 0\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/StationCard.test.tsx:120:27)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + }, + { + "name": "should encode address in directions URL", + "fullName": "StationCard Directions Link should encode address in directions URL", + "state": "failed", + "errors": [ + { + "message": "Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: StringContaining \"123%20Main%20St%2C%20San%20Francisco%2C%20CA%2094105\", \"_blank\"\n\nNumber of calls: 0\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/stations/__tests__/components/StationCard.test.tsx:132:27)\n at Promise.then.completed (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise ()\n at callAsyncCircusFn (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:316:40)\n at _runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at _runTestsForDescribeBlock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:121:9)\n at run (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + }, + { + "name": "should have minimum 44px button heights", + "fullName": "StationCard Touch Targets should have minimum 44px button heights", + "state": "passed" + }, + { + "name": "should call onSelect when card is clicked", + "fullName": "StationCard Card Selection should call onSelect when card is clicked", + "state": "passed" + }, + { + "name": "should not call onSelect when button is clicked", + "fullName": "StationCard Card Selection should not call onSelect when button is clicked", + "state": "passed" + } + ] + }, { "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/maintenance/components/MaintenanceScheduleReviewScreen.test.tsx", "tests": [ @@ -119,8 +1013,50 @@ "state": "passed" } ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/AdminUsersPage.test.tsx", + "tests": [ + { + "name": "Module failed to load (Error)", + "fullName": "Module failed to load (Error)", + "state": "failed", + "errors": [ + { + "message": "TextEncoder is not defined", + "name": "Error", + "stack": "ReferenceError: TextEncoder is not defined\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/@auth0/auth0-react/node_modules/@auth0/auth0-spa-js/dist/auth0-spa-js.production.esm.js:1:10973)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/core/auth/useAdminAccess.ts:7:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime._generateMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1690:34)\n at Runtime.requireMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:996:39)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1046:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/pages/admin/AdminUsersPage.tsx:52:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at Runtime.requireModuleOrMock (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1048:21)\n at Object. (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/AdminUsersPage.test.tsx:7:1)\n at Runtime._execModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:104:5)\n at runTestInternal (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/node_modules/jest-runner/build/testWorker.js:106:12)" + } + ] + } + ] + }, + { + "moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/admin/__tests__/components/ErrorState.test.tsx", + "tests": [ + { + "name": "should render error message", + "fullName": "ErrorState should render error message", + "state": "passed" + }, + { + "name": "should render retry button when onRetry provided", + "fullName": "ErrorState should render retry button when onRetry provided", + "state": "passed" + }, + { + "name": "should not render retry button when onRetry not provided", + "fullName": "ErrorState should not render retry button when onRetry not provided", + "state": "passed" + }, + { + "name": "should show default message when error has no message", + "fullName": "ErrorState should show default message when error has no message", + "state": "passed" + } + ] } ], "unhandledErrors": [], - "reason": "passed" + "reason": "failed" } \ No newline at end of file