2 lines
74 KiB
JSON
2 lines
74 KiB
JSON
{"numFailedTestSuites":3,"numFailedTests":6,"numPassedTestSuites":0,"numPassedTests":40,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":46,"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":1793693300936,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":52,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name \"Continue setup\"\n\nHere are the accessible roles:\n\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m</div>\u001b[39m\n\u001b[36m</body>\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 Object.getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\onboarding-checklist.test.tsx:63:26)\n at Promise.finally.completed (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1561:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1501:10)\n at _callCircusTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1011:40)\n at _runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:951:3)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:853:7\n at _runTestsForDescribeBlock (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:866:11)\n at run (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:765:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1993:21)\n at jestAdapter (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\runner.js:111:19)\n at runTestInternal (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:276:16)\n at runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:344:7)"],"fullName":"a dismissed optional checklist resumes without losing source-backed progress","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793693304214,"status":"failed","title":"a dismissed optional checklist resumes without losing source-backed progress"},{"ancestorTitles":[],"duration":144,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name `/^Skip for now:/`\n\nHere are the accessible roles:\n\n region:\n\n Name \"Get set up\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Get set up\":\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-6edcng-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Dismiss setup checklist\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Dismiss setup checklist\"\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\n Name \"Add job\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-150goj2-MuiButtonBase-root-MuiButton-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\n --------------------------------------------------\n progressbar:\n\n Name \"3 of 4 done\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"3 of 4 done\"\u001b[39m\n \u001b[33maria-valuemax\u001b[39m=\u001b[32m\"100\"\u001b[39m\n \u001b[33maria-valuemin\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33maria-valuenow\u001b[39m=\u001b[32m\"75\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiLinearProgress-root MuiLinearProgress-colorPrimary MuiLinearProgress-determinate css-13zwd3f-MuiLinearProgress-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"progressbar\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n list:\n\n Name \"\":\n \u001b[36m<ul\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-6jt6n9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n listitem:\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n img:\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"0 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-fcdc2c-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"RadioButtonUncheckedIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGet set up\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\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 Object.getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\onboarding-checklist.test.tsx:73:26)"],"fullName":"individual skips persist for their owner but do not count as completed data","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793693304279,"status":"failed","title":"individual skips persist for their owner but do not count as completed data"},{"ancestorTitles":[],"duration":68,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name \"Show walkthrough\"\n\nHere are the accessible roles:\n\n region:\n\n Name \"Get set up\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Get set up\":\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-6edcng-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Dismiss setup checklist\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Dismiss setup checklist\"\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\n Name \"Add job\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-150goj2-MuiButtonBase-root-MuiButton-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\n --------------------------------------------------\n progressbar:\n\n Name \"3 of 4 done\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"3 of 4 done\"\u001b[39m\n \u001b[33maria-valuemax\u001b[39m=\u001b[32m\"100\"\u001b[39m\n \u001b[33maria-valuemin\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33maria-valuenow\u001b[39m=\u001b[32m\"75\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiLinearProgress-root MuiLinearProgress-colorPrimary MuiLinearProgress-determinate css-13zwd3f-MuiLinearProgress-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"progressbar\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n list:\n\n Name \"\":\n \u001b[36m<ul\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-6jt6n9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n listitem:\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n img:\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"0 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-fcdc2c-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"RadioButtonUncheckedIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGet set up\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\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 Object.getByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\onboarding-checklist.test.tsx:84:26)"],"fullName":"on-demand walkthrough changes guidance and focus without changing completion or connecting providers","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793693304423,"status":"failed","title":"on-demand walkthrough changes guidance and focus without changing completion or connecting providers"},{"ancestorTitles":[],"duration":52,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"uses structured career data and connected inbox status for four source-backed onboarding steps","invocations":1,"location":null,"numPassingAsserts":15,"retryReasons":[],"startAt":1793693304492,"status":"passed","title":"uses structured career data and connected inbox status for four source-backed onboarding steps"},{"ancestorTitles":[],"duration":36,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a stored /microsoft-graph/status connection counts without connecting or syncing","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693304544,"status":"passed","title":"a stored /microsoft-graph/status connection counts without connecting or syncing"},{"ancestorTitles":[],"duration":30,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a stored /imap/status connection counts without connecting or syncing","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693304581,"status":"passed","title":"a stored /imap/status connection counts without connecting or syncing"},{"ancestorTitles":[],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"manual skills preserves the existing career-content criterion without claiming a CV import","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693304611,"status":"passed","title":"manual skills preserves the existing career-content criterion without claiming a CV import"},{"ancestorTitles":[],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"raw career text preserves the existing career-content criterion without claiming a CV import","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693304642,"status":"passed","title":"raw career text preserves the existing career-content criterion without claiming a CV import"},{"ancestorTitles":[],"duration":32,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"contact only preserves the existing career-content criterion without claiming a CV import","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693304673,"status":"passed","title":"contact only preserves the existing career-content criterion without claiming a CV import"},{"ancestorTitles":[],"duration":31,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"career names and account email alone do not count as account identity details","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793693304705,"status":"passed","title":"career names and account email alone do not count as account identity details"},{"ancestorTitles":[],"duration":47,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"unknown job summary has indeterminate progress, then responds to known jobs without refetching sources","invocations":1,"location":null,"numPassingAsserts":12,"retryReasons":[],"startAt":1793693304736,"status":"passed","title":"unknown job summary has indeterminate progress, then responds to known jobs without refetching sources"},{"ancestorTitles":[],"duration":7,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"all four recorded steps hide the optional checklist after the sources settle","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793693304783,"status":"passed","title":"all four recorded steps hide the optional checklist after the sources settle"},{"ancestorTitles":[],"duration":101,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed /auth/me status stays unknown and retries only the same source reads","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793693304790,"status":"passed","title":"failed /auth/me status stays unknown and retries only the same source reads"},{"ancestorTitles":[],"duration":61,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed /career/profile status stays unknown and retries only the same source reads","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793693304891,"status":"passed","title":"failed /career/profile status stays unknown and retries only the same source reads"},{"ancestorTitles":[],"duration":62,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed /gmail/status status stays unknown and retries only the same source reads","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793693304952,"status":"passed","title":"failed /gmail/status status stays unknown and retries only the same source reads"},{"ancestorTitles":[],"duration":60,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed /microsoft-graph/status status stays unknown and retries only the same source reads","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793693305014,"status":"passed","title":"failed /microsoft-graph/status status stays unknown and retries only the same source reads"},{"ancestorTitles":[],"duration":78,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed /imap/status status stays unknown and retries only the same source reads","invocations":1,"location":null,"numPassingAsserts":16,"retryReasons":[],"startAt":1793693305074,"status":"passed","title":"failed /imap/status status stays unknown and retries only the same source reads"},{"ancestorTitles":[],"duration":43,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"onboardingStepProfileAction keeps its source-owned destination","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693305152,"status":"passed","title":"onboardingStepProfileAction keeps its source-owned destination"},{"ancestorTitles":[],"duration":46,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"onboardingStepCvAction keeps its source-owned destination","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693305195,"status":"passed","title":"onboardingStepCvAction keeps its source-owned destination"},{"ancestorTitles":[],"duration":44,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"onboardingStepEmailAction keeps its source-owned destination","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693305241,"status":"passed","title":"onboardingStepEmailAction keeps its source-owned destination"},{"ancestorTitles":[],"duration":48,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"onboardingStepJobAction keeps its source-owned destination","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693305285,"status":"passed","title":"onboardingStepJobAction keeps its source-owned destination"},{"ancestorTitles":[],"duration":2,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"a legacy owner dismissal skips all reads on mount","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793693305333,"status":"passed","title":"a legacy owner dismissal skips all reads on mount"},{"ancestorTitles":[],"duration":60,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags","invocations":1,"location":null,"numPassingAsserts":12,"retryReasons":[],"startAt":1793693305335,"status":"passed","title":"dismissal survives reload for its owner and stays separate from another owner's checklist and Dashboard flags"},{"ancestorTitles":[],"duration":34,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"unavailable dismissal storage still permits setup and an in-memory dismissal","invocations":1,"location":null,"numPassingAsserts":6,"retryReasons":[],"startAt":1793693305395,"status":"passed","title":"unavailable dismissal storage still permits setup and an in-memory dismissal"},{"ancestorTitles":[],"duration":13,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist","invocations":1,"location":null,"numPassingAsserts":10,"retryReasons":[],"startAt":1793693305429,"status":"passed","title":"loading is announced without guessed progress and dismissal prevents late failure from reopening the checklist"},{"ancestorTitles":[],"duration":35,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"Bokmål guidance keeps semantic list and progress names without additional source reads","invocations":1,"location":null,"numPassingAsserts":11,"retryReasons":[],"startAt":1793693305443,"status":"passed","title":"Bokmål guidance keeps semantic list and progress names without additional source reads"}],"endTime":1793693305493,"message":" ● a dismissed optional checklist resumes without losing source-backed progress\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name \"Continue setup\"\n\n Here are the accessible roles:\n\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</body>\u001b[39m\n\n 61 | const view = render(<Checklist />);\n 62 | expect(mockedApi.get).not.toHaveBeenCalled();\n > 63 | fireEvent.click(screen.getByRole('button', { name: 'Continue setup' }));\n | ^\n 64 | expect(await screen.findByText('3 / 4')).toBeInTheDocument();\n 65 | expect(localStorage.getItem('onboardingDismissed:owner-a')).toBe('false');\n 66 | view.unmount(); render(<Checklist />);\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 Object.getByRole (src/onboarding-checklist.test.tsx:63:26)\n\n ● individual skips persist for their owner but do not count as completed data\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name `/^Skip for now:/`\n\n Here are the accessible roles:\n\n region:\n\n Name \"Get set up\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Get set up\":\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-6edcng-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Dismiss setup checklist\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Dismiss setup checklist\"\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\n Name \"Add job\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-150goj2-MuiButtonBase-root-MuiButton-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\n --------------------------------------------------\n progressbar:\n\n Name \"3 of 4 done\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"3 of 4 done\"\u001b[39m\n \u001b[33maria-valuemax\u001b[39m=\u001b[32m\"100\"\u001b[39m\n \u001b[33maria-valuemin\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33maria-valuenow\u001b[39m=\u001b[32m\"75\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiLinearProgress-root MuiLinearProgress-colorPrimary MuiLinearProgress-determinate css-13zwd3f-MuiLinearProgress-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"progressbar\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n list:\n\n Name \"\":\n \u001b[36m<ul\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-6jt6n9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n listitem:\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n img:\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"0 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-fcdc2c-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"RadioButtonUncheckedIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_0_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGet set up\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m...\n\n 71 | test('individual skips persist for their owner but do not count as completed data', async () => {\n 72 | const view = render(<Checklist />); await screen.findByText('3 / 4');\n > 73 | fireEvent.click(screen.getByRole('button', { name: /^Skip for now:/ }));\n | ^\n 74 | expect(screen.getByRole('progressbar', { name: '3 of 4 done' })).toHaveAttribute('aria-valuenow', '75');\n 75 | expect(localStorage.getItem('onboardingSkipped:owner-a')).toBe('[\"/jobs\"]');\n 76 | view.unmount(); render(<Checklist />); await screen.findByText('3 / 4');\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 Object.getByRole (src/onboarding-checklist.test.tsx:73:26)\n\n ● on-demand walkthrough changes guidance and focus without changing completion or connecting providers\n\n TestingLibraryElementError: Unable to find an accessible element with the role \"button\" and name \"Show walkthrough\"\n\n Here are the accessible roles:\n\n region:\n\n Name \"Get set up\":\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n banner:\n\n Name \"\":\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n heading:\n\n Name \"Get set up\":\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n paragraph:\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-pageDescription css-1sqgc3a-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1e3c8ku-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-6edcng-MuiTypography-root\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n button:\n\n Name \"Dismiss setup checklist\":\n \u001b[36m<button\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Dismiss setup checklist\"\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\n Name \"Add job\":\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeSmall MuiButton-textSizeSmall MuiButton-colorPrimary css-150goj2-MuiButtonBase-root-MuiButton-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\n --------------------------------------------------\n progressbar:\n\n Name \"3 of 4 done\":\n \u001b[36m<span\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"3 of 4 done\"\u001b[39m\n \u001b[33maria-valuemax\u001b[39m=\u001b[32m\"100\"\u001b[39m\n \u001b[33maria-valuemin\u001b[39m=\u001b[32m\"0\"\u001b[39m\n \u001b[33maria-valuenow\u001b[39m=\u001b[32m\"75\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiLinearProgress-root MuiLinearProgress-colorPrimary MuiLinearProgress-determinate css-13zwd3f-MuiLinearProgress-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"progressbar\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n list:\n\n Name \"\":\n \u001b[36m<ul\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-6jt6n9\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n listitem:\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"\":\n \u001b[36m<li\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-54iq2\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n img:\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"1 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-colorSuccess MuiSvgIcon-fontSizeSmall css-pqrdq0-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"CheckCircleIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n Name \"0 of 1 done\":\n \u001b[36m<svg\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSvgIcon-root MuiSvgIcon-fontSizeSmall css-fcdc2c-MuiSvgIcon-root\"\u001b[39m\n \u001b[33mdata-testid\u001b[39m=\u001b[32m\"RadioButtonUncheckedIcon\"\u001b[39m\n \u001b[33mfocusable\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"img\"\u001b[39m\n \u001b[33mviewBox\u001b[39m=\u001b[32m\"0 0 24 24\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n status:\n\n Name \"Destination\":\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m/>\u001b[39m\n\n --------------------------------------------------\n\n Ignored nodes: comments, script, style\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-rw0fp9\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<header\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-163u82n\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-14m33b5\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<h2\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-sectionTitle css-uf4832-MuiTypography-root\"\u001b[39m\n \u001b[33mid\u001b[39m=\u001b[32m\"_r_3_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mGet set up\u001b[0m\n \u001b[36m</h2>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m...\n\n 82 | test('on-demand walkthrough changes guidance and focus without changing completion or connecting providers', async () => {\n 83 | render(<Checklist />); await screen.findByText('3 / 4');\n > 84 | fireEvent.click(screen.getByRole('button', { name: 'Show walkthrough' }));\n | ^\n 85 | const guide = screen.getByRole('region', { name: translations.en.onboardingStepProfile });\n 86 | expect(within(guide).getByRole('heading')).toHaveFocus();\n 87 | fireEvent.click(within(guide).getByRole('button', { name: 'Next step' }));\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 Object.getByRole (src/onboarding-checklist.test.tsx:84:26)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\onboarding-checklist.test.tsx","startTime":1793693301807,"status":"failed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":4068,"failing":false,"failureDetails":[{"name":"TestingLibraryElementError"}],"failureMessages":["Error: Unable to find role=\"region\" and name \"Your week\"\n\nIgnored nodes: comments, script, style\n\u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-wnyqhk\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[0mSetup retained\u001b[0m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Setup job status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mtrue\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-28qbjz\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root\"...\n at waitForWrapper (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:163:27)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\query-helpers.js:86:33\n at Object.findByRole (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\dashboard-presentation.test.tsx:42:29)\n at Promise.finally.completed (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1561:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1501:10)\n at _callCircusTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1011:40)\n at _runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:951:3)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:853:7\n at _runTestsForDescribeBlock (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:866:11)\n at run (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:765:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1993:21)\n at jestAdapter (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\runner.js:111:19)\n at runTestInternal (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:276:16)\n at runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:344:7)"],"fullName":"A1 week glance shows recorded upcoming dates from attention data without inventing missing dates","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793693306280,"status":"failed","title":"A1 week glance shows recorded upcoming dates from attention data without inventing missing dates"},{"ancestorTitles":[],"duration":152,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable","invocations":1,"location":null,"numPassingAsserts":7,"retryReasons":[],"startAt":1793693310348,"status":"passed","title":"[PRES-S01] exact monthly values, sample, custom statuses and separate salary group remain readable"},{"ancestorTitles":[],"duration":713,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S02] all widget visibility choices save and survive remount","invocations":1,"location":null,"numPassingAsserts":8,"retryReasons":[],"startAt":1793693310500,"status":"passed","title":"[PRES-S02] all widget visibility choices save and survive remount"},{"ancestorTitles":[],"duration":123,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793693311213,"status":"passed","title":"[PRES-S01] a trends failure retains summary and retries without showing a false zero response rate"},{"ancestorTitles":[],"duration":59,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01] a summary failure does not suppress independent trends","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793693311336,"status":"passed","title":"[PRES-S01] a summary failure does not suppress independent trends"},{"ancestorTitles":[],"duration":203,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793693311395,"status":"passed","title":"[PRES-J05 J09 S01] raw status and company destinations use supported exact query fields"},{"ancestorTitles":[],"duration":195,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning","invocations":1,"location":null,"numPassingAsserts":3,"retryReasons":[],"startAt":1793693311598,"status":"passed","title":"[PRES-S01 S02] period changes only reload trends and retain current snapshot meaning"},{"ancestorTitles":[],"duration":93,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793693311793,"status":"passed","title":"[PRES-S01] zero activity is an explicit window-empty state without a fabricated response percentage"},{"ancestorTitles":[],"duration":76,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[PRES-S01] activity chart uses one shared zero-based scale and a readable legend","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793693311886,"status":"passed","title":"[PRES-S01] activity chart uses one shared zero-based scale and a readable legend"},{"ancestorTitles":[],"duration":148,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693311962,"status":"passed","title":"[P7-02 PRES-S01 S02] setup guidance treats pending and failed summaries as unknown until their owner retries"}],"endTime":1793693312114,"message":" ● A1 week glance shows recorded upcoming dates from attention data without inventing missing dates\n\n Unable to find role=\"region\" and name \"Your week\"\n\n Ignored nodes: comments, script, style\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Destination\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0m/\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-wnyqhk\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[0mSetup retained\u001b[0m\n \u001b[36m</div>\u001b[39m\n \u001b[36m<output\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"Setup job status\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mtrue\u001b[0m\n \u001b[36m</output>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-28qbjz\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<p\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body2 css-1qf9eb3-MuiTypography-root\"...\n\n 40 | mockedApi.get.mockImplementation((url: string) => Promise.resolve({ data: url.endsWith('/reminders') ? jobs : data(url) }) as any);\n 41 | open();\n > 42 | const week = await screen.findByRole('region', { name: 'Your week' });\n | ^\n 43 | expect(within(week).getByText('School vacancy')).toBeVisible();\n 44 | expect(within(week).queryByText('No recorded date')).not.toBeInTheDocument();\n 45 | expect(within(week).getByRole('link', { name: /School vacancy/ })).toHaveAttribute('href', '/jobs/91');\n\n at waitForWrapper (node_modules/@testing-library/dom/dist/wait-for.js:163:27)\n at node_modules/@testing-library/dom/dist/query-helpers.js:86:33\n at Object.findByRole (src/dashboard-presentation.test.tsx:42:29)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\dashboard-presentation.test.tsx","startTime":1793693305524,"status":"failed","summary":""},{"assertionResults":[{"ancestorTitles":[],"duration":2,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"legacy preferences migrate to bounded geometry while preserving order, visibility and revision","invocations":1,"location":null,"numPassingAsserts":9,"retryReasons":[],"startAt":1793693312342,"status":"passed","title":"legacy preferences migrate to bounded geometry while preserving order, visibility and revision"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"schema two preserves chosen hidden geometry without resetting the owner revision","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793693312344,"status":"passed","title":"schema two preserves chosen hidden geometry without resetting the owner revision"},{"ancestorTitles":[],"duration":1,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"default catalogue preserves every section and supported widths","invocations":1,"location":null,"numPassingAsserts":4,"retryReasons":[],"startAt":1793693312344,"status":"passed","title":"default catalogue preserves every section and supported widths"},{"ancestorTitles":[],"duration":2,"failing":false,"failureDetails":[{"matcherResult":{"message":"expect(received).toMatchObject(expected)\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"id\": \"attention\",\n+ \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }","pass":false}}],"failureMessages":["Error: expect(received).toMatchObject(expected)\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"id\": \"attention\",\n+ \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }\n at toMatchObject (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\dashboardLayout.test.ts:43:29)\n at Object.<anonymous> (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-each\\build\\index.js:80:140)\n at Promise.finally.completed (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1561:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1501:10)\n at _callCircusTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1011:40)\n at _runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:951:3)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:853:7\n at _runTestsForDescribeBlock (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:866:11)\n at run (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:765:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1993:21)\n at jestAdapter (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\runner.js:111:19)\n at runTestInternal (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:276:16)\n at runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:344:7)"],"fullName":"new schema 1 preferences use task-first A1 defaults without omitting widgets","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793693312345,"status":"failed","title":"new schema 1 preferences use task-first A1 defaults without omitting widgets"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[{"matcherResult":{"message":"expect(received).toMatchObject(expected)\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"id\": \"attention\",\n+ \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }","pass":false}}],"failureMessages":["Error: expect(received).toMatchObject(expected)\n\n- Expected - 1\n+ Received + 1\n\n Object {\n- \"id\": \"attention\",\n+ \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }\n at toMatchObject (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\dashboardLayout.test.ts:43:29)\n at Object.<anonymous> (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-each\\build\\index.js:80:140)\n at Promise.finally.completed (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1561:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1501:10)\n at _callCircusTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1011:40)\n at _runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:951:3)\n at C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:853:7\n at _runTestsForDescribeBlock (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:866:11)\n at run (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:765:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\jestAdapterInit.js:1993:21)\n at jestAdapter (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-circus\\build\\runner.js:111:19)\n at runTestInternal (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:276:16)\n at runTest (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jest-runner\\build\\index.js:344:7)"],"fullName":"new schema 2 preferences use task-first A1 defaults without omitting widgets","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793693312353,"status":"failed","title":"new schema 2 preferences use task-first A1 defaults without omitting widgets"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"saved layouts retain known order, reject duplicates and append missing sections hidden","invocations":1,"location":null,"numPassingAsserts":5,"retryReasons":[],"startAt":1793693312354,"status":"passed","title":"saved layouts retain known order, reject duplicates and append missing sections hidden"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid input has safe defaults: null","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793693312354,"status":"passed","title":"invalid input has safe defaults: null"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid input has safe defaults: {}","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793693312355,"status":"passed","title":"invalid input has safe defaults: {}"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid input has safe defaults: {\"version\":3,\"revision\":8,\"widgets\":[]}","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793693312355,"status":"passed","title":"invalid input has safe defaults: {\"version\":3,\"revision\":8,\"widgets\":[]}"},{"ancestorTitles":[],"duration":0,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"invalid input has safe defaults: {\"version\":1,\"revision\":-1,\"widgets\":[]}","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793693312355,"status":"passed","title":"invalid input has safe defaults: {\"version\":1,\"revision\":-1,\"widgets\":[]}"}],"endTime":1793693312359,"message":" ● new schema 1 preferences use task-first A1 defaults without omitting widgets\n\n expect(received).toMatchObject(expected)\n\n - Expected - 1\n + Received + 1\n\n Object {\n - \"id\": \"attention\",\n + \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }\n\n 41 | test.each([1, 2])('new schema %s preferences use task-first A1 defaults without omitting widgets', version => {\n 42 | const layout = normalizeDashboardLayout({ version, revision: 0, widgets: [] });\n > 43 | expect(layout.widgets[0]).toMatchObject({ id: 'attention', visible: true, x: 0, y: 0, w: 12 });\n | ^\n 44 | expect(layout.widgets.findIndex(widget => widget.id === 'cards')).toBeGreaterThan(layout.widgets.findIndex(widget => widget.id === 'funnel'));\n 45 | expect(layout.widgets).toHaveLength(WIDGETS.length);\n 46 | const visible = layout.widgets.filter(widget => widget.visible);\n\n at toMatchObject (src/dashboardLayout.test.ts:43:29)\n\n ● new schema 2 preferences use task-first A1 defaults without omitting widgets\n\n expect(received).toMatchObject(expected)\n\n - Expected - 1\n + Received + 1\n\n Object {\n - \"id\": \"attention\",\n + \"id\": \"cards\",\n \"visible\": true,\n \"w\": 12,\n \"x\": 0,\n \"y\": 0,\n }\n\n 41 | test.each([1, 2])('new schema %s preferences use task-first A1 defaults without omitting widgets', version => {\n 42 | const layout = normalizeDashboardLayout({ version, revision: 0, widgets: [] });\n > 43 | expect(layout.widgets[0]).toMatchObject({ id: 'attention', visible: true, x: 0, y: 0, w: 12 });\n | ^\n 44 | expect(layout.widgets.findIndex(widget => widget.id === 'cards')).toBeGreaterThan(layout.widgets.findIndex(widget => widget.id === 'funnel'));\n 45 | expect(layout.widgets).toHaveLength(WIDGETS.length);\n 46 | const visible = layout.widgets.filter(widget => widget.visible);\n\n at toMatchObject (src/dashboardLayout.test.ts:43:29)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\dashboardLayout.test.ts","startTime":1793693312124,"status":"failed","summary":""}],"wasInterrupted":false}
|