diff --git a/e2e/ats-analyzer.spec.js b/e2e/ats-analyzer.spec.js index 32375cb..739048b 100644 --- a/e2e/ats-analyzer.spec.js +++ b/e2e/ats-analyzer.spec.js @@ -29,9 +29,9 @@ test.describe("ATS Analyzer - Page Load", () => { .isVisible(); expect(fallbackVisible).toBe(true); } else { - // ATS Analyzer page has a "Start ATS Analysis" button, not a traditional upload + // ATS Analyzer page has a "Start Document Analysis" button, not a traditional upload const startButton = page.getByRole("button", { - name: /start ats analysis/i, + name: /start document analysis/i, }); await expect(startButton).toBeVisible(); diff --git a/e2e/landing-page.spec.js b/e2e/landing-page.spec.js index 4055f8e..b3e9905 100644 --- a/e2e/landing-page.spec.js +++ b/e2e/landing-page.spec.js @@ -189,7 +189,7 @@ test.describe("Landing Page - Features", () => { await page.evaluate( (amount) => window.scrollTo(0, amount), - scrollAmount + scrollAmount, ); await page.waitForTimeout(500); @@ -250,7 +250,9 @@ test.describe("Landing Page - Performance", () => { (error) => !error.includes("favicon") && !error.includes("404") && - !error.includes("X-Frame-Options") + !error.includes("X-Frame-Options") && + !error.includes("downloadable font") && + !error.includes("font-family"), ); if (browserName === "webkit") { diff --git a/test-output.txt b/test-output.txt deleted file mode 100644 index b812c55..0000000 --- a/test-output.txt +++ /dev/null @@ -1,1897 +0,0 @@ -npm verbose cli C:\Program Files\nodejs\node.exe C:\Users\LENOVO\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js -npm info using npm@11.8.0 -npm info using node@v22.17.0 -npm verbose title npm run test:run -npm verbose argv "run" "test:run" "--loglevel" "verbose" -npm verbose logfile logs-max:10 dir:C:\Users\LENOVO\AppData\Local\npm-cache\_logs\2026-02-08T03_47_55_596Z- -npm verbose logfile C:\Users\LENOVO\AppData\Local\npm-cache\_logs\2026-02-08T03_47_55_596Z-debug-0.log - -> jobpsych@3.0.0 test:run -> vitest run - - - RUN  v3.2.4 D:/Projects/Ideas based projects/jobpsych/frontend - -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > handles invalid localStorage data gracefully -Failed to load persisted data: SyntaxError: Unexpected token 'i', "invalid json" is not valid JSON - at JSON.parse () - at D:\Projects\Ideas based projects\jobpsych\frontend\src\pages\RoleSuggestion.jsx:41:18 - at Object.react-stack-bottom-frame (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:23949:20) - at runWithFiberInDEV (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:1522:13) - at commitHookEffectListMount (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:11905:29) - at commitHookPassiveMountEffects (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:12028:11) - at commitPassiveMountOnFiber (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:13841:13) - at recursivelyTraversePassiveMountEffects (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:13815:11) - at commitPassiveMountOnFiber (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:13957:11) - at recursivelyTraversePassiveMountEffects (D:\Projects\Ideas based projects\jobpsych\frontend\node_modules\react-dom\cjs\react-dom-client.development.js:13815:11) - - ❯ src/pages/__tests__/InterviewPrepAI.test.jsx (8 tests | 1 failed) 628ms - ✓ InterviewPrepAI Component > renders the InterviewPrepAI interface correctly 171ms - ✓ InterviewPrepAI Component > navigates back to home when Back to Home button is clicked 74ms - ✓ InterviewPrepAI Component > shows success toast and opens new window when Start AI Interview is clicked 64ms - ✓ InterviewPrepAI Component > displays the correct quote in the header 47ms - ✓ InterviewPrepAI Component > displays AI interview information correctly 38ms - ✓ InterviewPrepAI Component > displays the correct help text under the start button 34ms - ✓ InterviewPrepAI Component > displays the call-to-action section 58ms - × InterviewPrepAI Component > maintains component stability during re-renders 127ms - → Unable to find an element with the text: InterviewPrep AI. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. - -Ignored nodes: comments, script, style - - 
 -  -  -  -  - 
 -  -  -  -  -  -  -  -  -  - Back to Home -  -  -  -  -  - Build complete interview readiness with confidence -  -  -  -  -  -  -  - AI-Assisted Interview Practice -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - AI-Assisted Interview Practice Module -  -  -  -  -  -  -  -  -  renders the features section with correct structure 133ms - ✓ FeaturesSection > renders all feature cards 44ms - ✓ FeaturesSection > displays feature cards with hover effects 32ms - ✓ FeaturesSection > renders workflow section with proper layout 58ms - ✓ FeaturesSection > renders feature descriptions with proper formatting 35ms - ✓ FeaturesSection > renders colored tool names in guidance text 25ms - ✓ FeaturesSection > displays feature badges with correct colors 31ms - ✓ FeaturesSection > applies hover effects to feature cards 23ms - × FeaturesSection > renders workflow steps for each tool 87ms - → Found multiple elements with the text: Upload your document - -Here are the matching elements: - -Ignored nodes: comments, script, style - - Upload your document - - -Ignored nodes: comments, script, style - - Upload your document - - -(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)). - -Ignored nodes: comments, script, style - - 
 -  -  -  -  - 
 -  -  -  -  - Powerful Features for Modern Hiring -  -  - Complete Career Readiness - 
 -  - Document Optimization & Interview Success -  -  -  -  -  -  -  -  - Career Exploration -  -  - Career Path Exploration -  -  - Prepare for your career transition with AI-guided role discovery that matches your skills and aspirations. - 

 -  -  -  -  -  -  - Document Analysis -  -  - Professional Document Analysis -  -  - Ensure interview readiness with resume optimization that identifies gaps and enhances content for maximum impact. - 

 -  -  -  -  -  -  - Interview Mastery -  -  - AI-Assisted Interview Practice -  -  - Build complete interview readiness through AI-powered practice, intelligent feedback, and confidence-building preparation. - 

 -  -  -  -  -  - How Our System Works -  -  -  - Career Path Exploration helps you discover ideal roles through AI-guided role discovery that matches your skills and aspirations. - 

 -  - Professional Document Analysis optimizes your document to ensure maximum impact with content enhancement and gap identification. - 

 -  - AI-Assisted Interview Practice provides intelligent feedback and confidence-building preparation for complete interview readiness. - 

 -  -  -  -  - Career Path Exploration -  -  -  -  - 1 -  -  - Upload your document -  -  -  -  - 2 -  -  - Define target roles & goals -  -  -  -  - 3 -  -  - Receive career recommendations -  -  -  -  -  -  - Document Analysis -  -  -  -  - 1 -  -  - Upload your document -  -  -  -  - 2 -  -  - Get content analysis & gaps -  -  -  -  - 3 -  -  - Receive optimization tips -  -  -  -  -  -  - Interview Practice -  -  -  -  - 1 -  -  - Access practice scenarios -  -  -  -  - 2 -  -  - Practice with AI interviewer -  -  -  -  - 3 -  -  - Get feedback & improve -  -  -  -  -  -  -  -  -  - - ✓ FeaturesSection > displays proper responsive grid layout 69ms - ✓ FeaturesSection > renders gradient background and overlay effects 28ms - ✓ FeaturesSection > has proper accessibility structure 49ms - ✓ FeaturesSection > displays workflow guidance text with proper styling 65ms - ✓ FeaturesSection > renders step indicators with proper numbering 26ms - ✓ FeaturesSection > applies consistent spacing and padding 21ms - ✓ FeaturesSection > renders workflow section with rounded corners and borders 18ms - × FeaturesSection > displays tool-specific workflow steps 41ms - → Found multiple elements with the text: Upload your document - -Here are the matching elements: - -Ignored nodes: comments, script, style - - Upload your document - - -Ignored nodes: comments, script, style - - Upload your document - - -(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)). - -Ignored nodes: comments, script, style - - 
 -  -  -  -  - 
 -  -  -  -  - Powerful Features for Modern Hiring -  -  - Complete Career Readiness - 
 -  - Document Optimization & Interview Success -  -  -  -  -  -  -  -  - Career Exploration -  -  - Career Path Exploration -  -  - Prepare for your career transition with AI-guided role discovery that matches your skills and aspirations. - 

 -  -  -  -  -  -  - Document Analysis -  -  - Professional Document Analysis -  -  - Ensure interview readiness with resume optimization that identifies gaps and enhances content for maximum impact. - 

 -  -  -  -  -  -  - Interview Mastery -  -  - AI-Assisted Interview Practice -  -  - Build complete interview readiness through AI-powered practice, intelligent feedback, and confidence-building preparation. - 

 -  -  -  -  -  - How Our System Works -  -  -  - Career Path Exploration helps you discover ideal roles through AI-guided role discovery that matches your skills and aspirations. - 

 -  - Professional Document Analysis optimizes your document to ensure maximum impact with content enhancement and gap identification. - 

 -  - AI-Assisted Interview Practice provides intelligent feedback and confidence-building preparation for complete interview readiness. - 

 -  -  -  -  - Career Path Exploration -  -  -  -  - 1 -  -  - Upload your document -  -  -  -  - 2 -  -  - Define target roles & goals -  -  -  -  - 3 -  -  - Receive career recommendations -  -  -  -  -  -  - Document Analysis -  -  -  -  - 1 -  -  - Upload your document -  -  -  -  - 2 -  -  - Get content analysis & gaps -  -  -  -  - 3 -  -  - Receive optimization tips -  -  -  -  -  -  - Interview Practice -  -  -  -  - 1 -  -  - Access practice scenarios -  -  -  -  - 2 -  -  - Practice with AI interviewer -  -  -  -  - 3 -  -  - Get feedback & improve -  -  -  -  -  -  -  -  -  - - ✓ FeaturesSection > applies proper color coding for workflow headings 28ms - ✓ FeaturesSection > renders all required sections and subsections 44ms -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > handles resume analysis successfully -[MSW] Warning: intercepted a request without a matching request handler: - - • POST /api/analyze-resume - - • Request body: ------HappyDOMFormDataBoundary0.2yx9t6ijxf2 -Content-Disposition: form-data; name="file"; filename="resume.pdf" -Content-Type: application/pdf - -resume content -------HappyDOMFormDataBoundary0.2yx9t6ijxf2-- - - -If you still wish to intercept this unhandled request, please create a request handler for it. -Read more: https://mswjs.io/docs/http/intercepting-requests - - ✓ src/components/error/__tests__/RateLimitError.test.jsx (29 tests | 1 skipped) 1436ms -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > handles API errors gracefully -[MSW] Warning: intercepted a request without a matching request handler: - - • POST /api/analyze-resume - - • Request body: ------HappyDOMFormDataBoundary0.j77ywuo8jr -Content-Disposition: form-data; name="file"; filename="resume.pdf" -Content-Type: application/pdf - -resume content -------HappyDOMFormDataBoundary0.j77ywuo8jr-- - - -If you still wish to intercept this unhandled request, please create a request handler for it. -Read more: https://mswjs.io/docs/http/intercepting-requests - - ✓ src/components/__tests__/Chatbot.test.jsx (27 tests) 1746ms -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > persists data to localStorage -[MSW] Warning: intercepted a request without a matching request handler: - - • POST /api/analyze-resume - - • Request body: ------HappyDOMFormDataBoundary0.c95jscx47jv -Content-Disposition: form-data; name="file"; filename="resume.pdf" -Content-Type: application/pdf - -resume content -------HappyDOMFormDataBoundary0.c95jscx47jv-- - - -If you still wish to intercept this unhandled request, please create a request handler for it. -Read more: https://mswjs.io/docs/http/intercepting-requests - -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > persists data to localStorage -[MSW] Warning: intercepted a request without a matching request handler: - - • POST /api/analyze-resume - - • Request body: ------HappyDOMFormDataBoundary0.mi33az3ulfr -Content-Disposition: form-data; name="file"; filename="resume.pdf" -Content-Type: application/pdf - -resume content -------HappyDOMFormDataBoundary0.mi33az3ulfr-- - - -If you still wish to intercept this unhandled request, please create a request handler for it. -Read more: https://mswjs.io/docs/http/intercepting-requests - - ✓ src/components/hero/__tests__/HeroSection.test.jsx (13 tests) 1015ms -stderr | src/pages/__tests__/RoleSuggestion.test.jsx > RoleSuggestion Component > displays analysis results correctly -[MSW] Warning: intercepted a request without a matching request handler: - - • POST /api/analyze-resume - - • Request body: ------HappyDOMFormDataBoundary0.7cgbz9stn3m -Content-Disposition: form-data; name="file"; filename="resume.pdf" -Content-Type: application/pdf - -resume content -------HappyDOMFormDataBoundary0.7cgbz9stn3m-- - - -If you still wish to intercept this unhandled request, please create a request handler for it. -Read more: https://mswjs.io/docs/http/intercepting-requests - - ✓ src/pages/__tests__/RoleSuggestion.test.jsx (14 tests) 2434ms - ✓ RoleSuggestion Component > handles resume analysis successfully  337ms - ✓ src/test/integration/chatbot.integration.test.jsx (5 tests) 3942ms - ✓ Chatbot Integration Tests > user can send message and receive AI response  1835ms - ✓ Chatbot Integration Tests > chatbot shows loading state while processing  1315ms - ✓ Chatbot Integration Tests > chat history persists across re-renders  435ms - ✓ src/components/layout/__tests__/Header.test.jsx (17 tests) 1076ms -stderr | src/components/toast/__tests__/ToastManager.test.jsx > ToastProvider > removes all toasts when removeAllToasts is called -Encountered two children with the same key, `1770522491326.989`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version. -Encountered two children with the same key, `1770522491326.989`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version. - - ✓ src/pages/__tests__/ATSAnalyzer.test.jsx (15 tests) 1223ms - ✓ src/components/layout/__tests__/Footer.test.jsx (15 tests) 902ms - ✓ src/components/toast/__tests__/ToastManager.test.jsx (17 tests) 933ms - ✓ src/components/error/__tests__/ResumeRateLimitError.test.jsx (27 tests) 923ms - ✓ src/components/error/__tests__/ErrorBoundary.test.jsx (22 tests) 1257ms - ✓ src/components/testimonials/__tests__/TestimonialsSection.test.jsx (17 tests) 872ms - ✓ src/components/faq/__tests__/FAQDropdown.test.jsx (31 tests) 694ms - ✓ src/components/error/__tests__/NetworkError.test.jsx (24 tests) 685ms -stderr | src/components/resume/__tests__/ResumeUpload.test.jsx > ResumeUpload Component > rejects invalid file type -Invalid file type: text/plain Extension: .txt - - ✓ src/components/toast/__tests__/Toast.test.jsx (24 tests | 1 skipped) 793ms - ✓ src/components/resume/__tests__/ResumeUpload.test.jsx (25 tests) 557ms - ✓ src/hooks/__tests__/useAIChat.test.js (18 tests) 544ms - ✓ src/components/error/__tests__/LoadingError.test.jsx (15 tests) 602ms - ✓ src/components/faq/__tests__/FAQSection.test.jsx (19 tests) 501ms - ✓ src/components/toast/__tests__/SimpleToast.test.jsx (20 tests) 458ms - ✓ src/test/integration/landing-page.integration.test.jsx (5 tests) 498ms - ✓ src/pages/__tests__/LandingPage.test.jsx (5 tests) 209ms - ✓ src/pages/__tests__/NotFound.test.jsx (8 tests) 351ms - ✓ src/components/__tests__/NavigationButton.test.jsx (3 tests) 242ms - ✓ src/test/integration/api-workflow.test.jsx (13 tests) 199ms - ✓ src/test/integration/user-journey.test.jsx (3 tests) 207ms - ✓ src/test/integration/setup.integration.test.jsx (4 tests) 155ms - ✓ src/test/integration/aiApi.test.js (12 tests) 182ms - ✓ src/hooks/__tests__/useToast.test.js (3 tests) 127ms - ✓ src/components/toast/__tests__/ToastContext.test.jsx (4 tests) 159ms - ✓ src/utils/__tests__/errorHandler.test.js (25 tests) 45ms - ✓ src/utils/__tests__/env.test.js (4 tests) 9ms - -⎯⎯⎯⎯⎯⎯⎯ Failed Tests 3 ⎯⎯⎯⎯⎯⎯⎯ - - FAIL src/pages/__tests__/InterviewPrepAI.test.jsx > InterviewPrepAI Component > maintains component stability during re-renders -TestingLibraryElementError: Unable to find an element with the text: InterviewPrep AI. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. - -Ignored nodes: comments, script, style - -
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- Build complete interview readiness with confidence -
-
-
-
-
-
-

- AI-Assisted Interview Practice -

-
-
-
-
-
-
-
-
-
-
-
-

- - - - AI-Assisted Interview Practice Module -

-
-
-
-
-
-
-
-
FeaturesSection > renders workflow steps for each tool -TestingLibraryElementError: Found multiple elements with the text: Upload your document - -Here are the matching elements: - -Ignored nodes: comments, script, style - - Upload your document - - -Ignored nodes: comments, script, style - - Upload your document - - -(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)). - -Ignored nodes: comments, script, style - -
-
-
-
-
-
-
-
-
-
- Powerful Features for Modern Hiring -
-

- Complete Career Readiness -
- - Document Optimization & Interview Success - -

-
-
-
-
-
-
- Career Exploration -
-

- Career Path Exploration -

-

- Prepare for your career transition with AI-guided role discovery that matches your skills and aspirations. -

-
-
-
-
-
-
- Document Analysis -
-

- Professional Document Analysis -

-

- Ensure interview readiness with resume optimization that identifies gaps and enhances content for maximum impact. -

-
-
-
-
-
-
- Interview Mastery -
-

- AI-Assisted Interview Practice -

-

- Build complete interview readiness through AI-powered practice, intelligent feedback, and confidence-building preparation. -

-
-
-
-
-

- How Our System Works -

-
-

- Career Path Exploration helps you discover ideal roles through AI-guided role discovery that matches your skills and aspirations. -

-

- Professional Document Analysis optimizes your document to ensure maximum impact with content enhancement and gap identification. -

-

- AI-Assisted Interview Practice provides intelligent feedback and confidence-building preparation for complete interview readiness. -

-
-
-
-

- Career Path Exploration -

-
-
-
- 1 -
- - Upload your document - -
-
-
- 2 -
- - Define target roles & goals - -
-
-
- 3 -
- - Receive career recommendations - -
-
-
-
-

- Document Analysis -

-
-
-
- 1 -
- - Upload your document - -
-
-
- 2 -
- - Get content analysis & gaps - -
-
-
- 3 -
- - Receive optimization tips - -
-
-
-
-

- Interview Practice -

-
-
-
- 1 -
- - Access practice scenarios - -
-
-
- 2 -
- - Practice with AI interviewer - -
-
-
- 3 -
- - Get feedback & improve - -
-
-
-
-
-
-
-
- - ❯ Object.getElementError node_modules/@testing-library/dom/dist/config.js:37:19 - ❯ getElementError node_modules/@testing-library/dom/dist/query-helpers.js:20:35 - ❯ getMultipleElementsFoundError node_modules/@testing-library/dom/dist/query-helpers.js:23:10 - ❯ node_modules/@testing-library/dom/dist/query-helpers.js:55:13 - ❯ node_modules/@testing-library/dom/dist/query-helpers.js:95:19 - ❯ src/components/features/__tests__/FeaturesSection.test.jsx:156:19 - 154| - 155| // Check for at least one step - 156| expect(screen.getByText("Upload your document")).toBeInTheDocument… - | ^ - 157| }); - 158| - -⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/3]⎯ - - FAIL src/components/features/__tests__/FeaturesSection.test.jsx > FeaturesSection > displays tool-specific workflow steps -TestingLibraryElementError: Found multiple elements with the text: Upload your document - -Here are the matching elements: - -Ignored nodes: comments, script, style - - Upload your document - - -Ignored nodes: comments, script, style - - Upload your document - - -(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or `findAllByText`)). - -Ignored nodes: comments, script, style - -
-
-
-
-
-
-
-
-
-
- Powerful Features for Modern Hiring -
-

- Complete Career Readiness -
- - Document Optimization & Interview Success - -

-
-
-
-
-
-
- Career Exploration -
-

- Career Path Exploration -

-

- Prepare for your career transition with AI-guided role discovery that matches your skills and aspirations. -

-
-
-
-
-
-
- Document Analysis -
-

- Professional Document Analysis -

-

- Ensure interview readiness with resume optimization that identifies gaps and enhances content for maximum impact. -

-
-
-
-
-
-
- Interview Mastery -
-

- AI-Assisted Interview Practice -

-

- Build complete interview readiness through AI-powered practice, intelligent feedback, and confidence-building preparation. -

-
-
-
-
-

- How Our System Works -

-
-

- Career Path Exploration helps you discover ideal roles through AI-guided role discovery that matches your skills and aspirations. -

-

- Professional Document Analysis optimizes your document to ensure maximum impact with content enhancement and gap identification. -

-

- AI-Assisted Interview Practice provides intelligent feedback and confidence-building preparation for complete interview readiness. -

-
-
-
-

- Career Path Exploration -

-
-
-
- 1 -
- - Upload your document - -
-
-
- 2 -
- - Define target roles & goals - -
-
-
- 3 -
- - Receive career recommendations - -
-
-
-
-

- Document Analysis -

-
-
-
- 1 -
- - Upload your document - -
-
-
- 2 -
- - Get content analysis & gaps - -
-
-
- 3 -
- - Receive optimization tips - -
-
-
-
-

- Interview Practice -

-
-
-
- 1 -
- - Access practice scenarios - -
-
-
- 2 -
- - Practice with AI interviewer - -
-
-
- 3 -
- - Get feedback & improve - -
-
-
-
-
-
-
-
- - ❯ Object.getElementError node_modules/@testing-library/dom/dist/config.js:37:19 - ❯ getElementError node_modules/@testing-library/dom/dist/query-helpers.js:20:35 - ❯ getMultipleElementsFoundError node_modules/@testing-library/dom/dist/query-helpers.js:23:10 - ❯ node_modules/@testing-library/dom/dist/query-helpers.js:55:13 - ❯ node_modules/@testing-library/dom/dist/query-helpers.js:95:19 - ❯ src/components/features/__tests__/FeaturesSection.test.jsx:254:19 - 252| - 253| // Career Path Exploration steps - 254| expect(screen.getByText("Upload your document")).toBeInTheDocument… - | ^ - 255| expect( - 256| screen.getByText("Define target roles & goals"), - -⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/3]⎯ - - - Test Files  2 failed | 32 passed (34) - Tests  3 failed | 505 passed | 2 skipped (510) - Start at  08:47:57 - Duration  32.78s (transform 3.50s, setup 57.66s, collect 16.37s, tests 26.48s, environment 70.33s, prepare 20.46s) - -npm verbose cwd D:\Projects\Ideas based projects\jobpsych\frontend -npm verbose os Windows_NT 10.0.26200 -npm verbose node v22.17.0 -npm verbose npm v11.8.0 -npm verbose exit 1 -npm verbose code 1