2 lines
39 KiB
JSON
2 lines
39 KiB
JSON
{"numFailedTestSuites":1,"numFailedTests":2,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":22,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":24,"openHandles":[],"snapshot":{"added":0,"didUpdate":false,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0},"startTime":1793711255511,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":185,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an element with the text: Modern. 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.\n\nIgnored nodes: comments, script, style\n\u001b[36m<div\u001b[39m\n \u001b[33maria-disabled\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Open Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-1l1dho7-MuiPaper-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"link\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-icegri\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-3sr0vz-MuiSkeleton-root\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"width: 100%; height: 100%;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1kfnso-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-1dqyl8x-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFrontend CV\u001b[0m\n \u001b[36m</h3>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"menu\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Actions for Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-120dh41-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"MoreVertIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-plbfmu-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-in90na-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mmodern\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-outlined MuiChip-sizeSmall MuiChip-colorDefault MuiChip-outlinedDefault css-1w2bku1-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-19m61dl-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEN\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorPrimary MuiChip-filledPrimary css-k63g1y-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiChip-icon MuiChip-iconSmall MuiChip-iconColorPrimary css-1umw9bq-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"PublicIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPublic\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-gj41y9-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mUpdated 12/10/2026 · version 2\u001b[0m\n \u001b[0m · Frontend Engineer at Northstar\u001b[0m\n \u001b[36m</span>\u001b[39m\n\u001b[36m</div>\u001b[39m\n at Object.getElementError (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:37:19)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:76:38\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:52:17\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:95:19\n at getByText (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\cv-builder-page.test.tsx:77:23)"],"fullName":"en library identifies templates by their human label and retains an unknown legacy identifier","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262371,"status":"failed","title":"en library identifies templates by their human label and retains an unknown legacy identifier"},{"ancestorTitles":[],"duration":61,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an element with the text: Moderne. 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.\n\nIgnored nodes: comments, script, style\n\u001b[36m<div\u001b[39m\n \u001b[33maria-disabled\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Åpne Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-1l1dho7-MuiPaper-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"link\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-icegri\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-3sr0vz-MuiSkeleton-root\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"width: 100%; height: 100%;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1kfnso-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-1dqyl8x-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFrontend CV\u001b[0m\n \u001b[36m</h3>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"menu\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Handlinger for Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-120dh41-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"MoreVertIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-plbfmu-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-in90na-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mmodern\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-outlined MuiChip-sizeSmall MuiChip-colorDefault MuiChip-outlinedDefault css-1w2bku1-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-19m61dl-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEN\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorPrimary MuiChip-filledPrimary css-k63g1y-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiChip-icon MuiChip-iconSmall MuiChip-iconColorPrimary css-1umw9bq-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"PublicIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mOffentlig\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-gj41y9-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mOppdatert 12.10.2026 · versjon 2\u001b[0m\n \u001b[0m · Frontend Engineer hos Northstar\u001b[0m\n \u001b[36m</span>\u001b[39m\n\u001b[36m</div>\u001b[39m\n at Object.getElementError (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:37:19)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:76:38\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:52:17\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:95:19\n at getByText (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\cv-builder-page.test.tsx:77:23)"],"fullName":"nb library identifies templates by their human label and retains an unknown legacy identifier","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262609,"status":"failed","title":"nb library identifies templates by their human label and retains an unknown legacy identifier"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"blank creation explicitly excludes all profile sections and contact even after template selection","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"blank creation explicitly excludes all profile sections and contact even after template selection"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"profile creation includes only deliberately selected available sections and contact","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"profile creation includes only deliberately selected available sections and contact"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"unavailable profile sections block profile creation and allow an explicit blank fallback","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"unavailable profile sections block profile creation and allow an explicit blank fallback"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"export validation decodes structured and blob errors without relabelling unknown failures","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"export validation decodes structured and blob errors without relabelling unknown failures"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"the CV library has a section heading and announces its held initial read without showing an empty result","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"the CV library has a section heading and announces its held initial read without showing an empty result"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a failed CV list read has an explicit retry that clears the stale failure after recovery","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a failed CV list read has an explicit retry that clears the stale failure after recovery"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a live language change retains an open CV name and template draft without refetching library data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a live language change retains an open CV name and template draft without refetching library data"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"held CV creation locks the draft and gallery, then keeps a failed draft for an explicit retry","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"held CV creation locks the draft and gallery, then keeps a failed draft for an explicit retry"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a locked CV template remains identifiable and cannot change the creation request","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a locked CV template remains identifiable and cannot change the creation request"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a held duplicate blocks another action for the same CV and shows the persisted refreshed copy","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a held duplicate blocks another action for the same CV and shows the persisted refreshed copy"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"rename reads the current revision and preserves its settings when saving the new name","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"rename reads the current revision and preserves its settings when saving the new name"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a rename conflict keeps the original library entry and never retries the write automatically","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a rename conflict keeps the original library entry and never retries the write automatically"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"cancelling deletion returns focus to the surviving CV action control without removing the CV","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"cancelling deletion returns focus to the surviving CV action control without removing the CV"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a failed creation keeps its draft and translates its failure after closing and reopening in another language","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a failed creation keeps its draft and translates its failure after closing and reopening in another language"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"generic PDF failure follows the current language both after failure and when a held request fails","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"generic PDF failure follows the current language both after failure and when a held request fails"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a held deletion preserves focus moved to another surviving control before the response arrives","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"a held deletion preserves focus moved to another surviving control before the response arrives"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"PDF status 503 shows an actionable message without retrying","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"PDF status 503 shows an actionable message without retrying"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"PDF status 504 shows an actionable message without retrying","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"PDF status 504 shows an actionable message without retrying"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"lists existing CVs from the variants API","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"lists existing CVs from the variants API"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"shows the empty state and creates a CV then navigates to the editor","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"shows the empty state and creates a CV then navigates to the editor"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CV dashboard and create flow render in Bokmål","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"CV dashboard and create flow render in Bokmål"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"CV deletion requires confirmation and supports cancellation","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793711262671,"status":"pending","title":"CV deletion requires confirmation and supports cancellation"}],"endTime":1793711262694,"message":" ● en library identifies templates by their human label and retains an unknown legacy identifier\n\n TestingLibraryElementError: Unable to find an element with the text: Modern. 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.\n\n Ignored nodes: comments, script, style\n \u001b[36m<div\u001b[39m\n \u001b[33maria-disabled\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Open Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-1l1dho7-MuiPaper-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"link\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-icegri\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-3sr0vz-MuiSkeleton-root\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"width: 100%; height: 100%;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1kfnso-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-1dqyl8x-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFrontend CV\u001b[0m\n \u001b[36m</h3>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"menu\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Actions for Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-120dh41-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"MoreVertIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-plbfmu-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-in90na-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mmodern\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-outlined MuiChip-sizeSmall MuiChip-colorDefault MuiChip-outlinedDefault css-1w2bku1-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-19m61dl-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEN\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorPrimary MuiChip-filledPrimary css-k63g1y-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiChip-icon MuiChip-iconSmall MuiChip-iconColorPrimary css-1umw9bq-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"PublicIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mPublic\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-gj41y9-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mUpdated 12/10/2026 · version 2\u001b[0m\n \u001b[0m · Frontend Engineer at Northstar\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n\n 75 | renderPage();\n 76 | const card = (await screen.findByText(existingCv.name)).closest('[role=\"link\"]') as HTMLElement;\n > 77 | expect(within(card).getByText(language === 'nb' ? translations.nb.cvTemplateModernName : 'Modern')).toBeVisible();\n | ^\n 78 | const legacy = screen.getByText('Legacy CV').closest('[role=\"link\"]') as HTMLElement;\n 79 | expect(within(legacy).getByText('legacy-template')).toBeVisible();\n 80 | expect(mockedApi.put).not.toHaveBeenCalled();\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at getByText (src/cv-builder-page.test.tsx:77:23)\n\n ● nb library identifies templates by their human label and retains an unknown legacy identifier\n\n TestingLibraryElementError: Unable to find an element with the text: Moderne. 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.\n\n Ignored nodes: comments, script, style\n \u001b[36m<div\u001b[39m\n \u001b[33maria-disabled\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Åpne Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiPaper-root MuiPaper-elevation MuiPaper-rounded MuiPaper-elevation1 css-1l1dho7-MuiPaper-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"link\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"--Paper-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-icegri\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSkeleton-root MuiSkeleton-rectangular MuiSkeleton-pulse css-3sr0vz-MuiSkeleton-root\"\u001b[39m\n \u001b[33mstyle\u001b[39m=\u001b[32m\"width: 100%; height: 100%;\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-1kfnso-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h3\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-1dqyl8x-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mFrontend CV\u001b[0m\n \u001b[36m</h3>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33maria-haspopup\u001b[39m=\u001b[32m\"menu\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Handlinger for Frontend CV\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiIconButton-root MuiIconButton-sizeSmall css-155wbr6-MuiButtonBase-root-MuiIconButton-root\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"button\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-120dh41-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"MoreVertIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiStack-root css-plbfmu-MuiStack-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorDefault MuiChip-filledDefault css-in90na-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mmodern\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-outlined MuiChip-sizeSmall MuiChip-colorDefault MuiChip-outlinedDefault css-1w2bku1-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-19m61dl-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEN\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-root MuiChip-filled MuiChip-sizeSmall MuiChip-colorPrimary MuiChip-filledPrimary css-k63g1y-MuiChip-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<svg\u001b[39m\n \u001b[33maria-hidden\u001b[39m=\u001b[32m\"true\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiChip-icon MuiChip-iconSmall MuiChip-iconColorPrimary css-1umw9bq-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"PublicIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<path\u001b[39m\n \u001b[33md\u001b[39m=\u001b[32m\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</svg>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiChip-label MuiChip-labelSmall css-eccknh-MuiChip-label\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mOffentlig\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-gj41y9-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mOppdatert 12.10.2026 · versjon 2\u001b[0m\n \u001b[0m · Frontend Engineer hos Northstar\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</div>\u001b[39m\n\n 75 | renderPage();\n 76 | const card = (await screen.findByText(existingCv.name)).closest('[role=\"link\"]') as HTMLElement;\n > 77 | expect(within(card).getByText(language === 'nb' ? translations.nb.cvTemplateModernName : 'Modern')).toBeVisible();\n | ^\n 78 | const legacy = screen.getByText('Legacy CV').closest('[role=\"link\"]') as HTMLElement;\n 79 | expect(within(legacy).getByText('legacy-template')).toBeVisible();\n 80 | expect(mockedApi.put).not.toHaveBeenCalled();\n\n at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:37:19)\n at node_modules/@testing-library/dom/dist/query-helpers.js:76:38\n at node_modules/@testing-library/dom/dist/query-helpers.js:52:17\n at node_modules/@testing-library/dom/dist/query-helpers.js:95:19\n at getByText (src/cv-builder-page.test.tsx:77:23)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\cv-builder-page.test.tsx","startTime":1793711257327,"status":"failed","summary":""}],"wasInterrupted":false}
|