Files
jobtrackingapp/docs/ui-modernisation/a3-entitlement-refresh-red.json
T

2 lines
43 KiB
JSON

{"numFailedTestSuites":1,"numFailedTests":2,"numPassedTestSuites":0,"numPassedTests":2,"numPendingTestSuites":0,"numPendingTests":6,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":10,"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":1793733960456,"success":false,"testResults":[{"assertionResults":[{"ancestorTitles":[],"duration":4226,"failing":false,"failureDetails":[{"matcherResult":{"message":"expect(jest.fn()).toHaveBeenCalledTimes(expected)\n\nExpected number of calls: 1\nReceived number of calls: 0","pass":false}}],"failureMessages":["Error: expect(jest.fn()).toHaveBeenCalledTimes(expected)\n\nExpected number of calls: 1\nReceived number of calls: 0\n\nIgnored nodes: comments, script, style\n\u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<button>\u001b[39m\n \u001b[0mBokmål\u001b[0m\n \u001b[36m</button>\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[0mAI privacy\u001b[0m\n \u001b[36m</h2>\u001b[39m\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 \u001b[0mControl AI processing for your account. External processing is off unless both you and an administrator explicitly allow it.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-busy\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI privacy\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-taqjlb\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mchecked\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEnable AI features for my account\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAllow approved external AI processing\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-2qd4a1-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mApproved external processing may be used only for Pro tasks when server policy permits it.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1mcghfl\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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 \u001b[0mSave AI privacy settings\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</section>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</body>\u001b[39m\n\u001b[36m</html>\u001b[39m\n at toHaveBeenCalledTimes (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\ai-privacy-settings.test.tsx:24:39)\n at runWithExpensiveErrorDiagnosticsDisabled (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:47:12)\n at checkCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:124:77)\n at checkRealTimersCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jsdom\\lib\\jsdom\\browser\\Window.js:579:19)\n at listOnTimeout (node:internal/timers:635:17)\n at processTimers (node:internal/timers:571:7)"],"fullName":"a persisted AI preference refreshes server availability after the save acknowledgement","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733965469,"status":"failed","title":"a persisted AI preference refreshes server availability after the save acknowledgement"},{"ancestorTitles":[],"duration":4093,"failing":false,"failureDetails":[{"matcherResult":{"message":"expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: undefined, \"warning\"\nReceived: \"AI privacy settings saved.\", \"success\"\n\nNumber of calls: 1","pass":false}}],"failureMessages":["Error: expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\nExpected: undefined, \"warning\"\nReceived: \"AI privacy settings saved.\", \"success\"\n\nNumber of calls: 1\n\nIgnored nodes: comments, script, style\n\u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n\u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<button>\u001b[39m\n \u001b[0mBokmål\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_\"\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_2_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAI privacy\u001b[0m\n \u001b[36m</h2>\u001b[39m\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 \u001b[0mControl AI processing for your account. External processing is off unless both you and an administrator explicitly allow it.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-busy\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI privacy\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-taqjlb\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mchecked\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEnable AI features for my account\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAllow approved external AI processing\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-2qd4a1-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mApproved external processing may be used only for Pro tasks when server policy permits it.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1mcghfl\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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 \u001b[0mSave AI privacy settings\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</section>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</body>\u001b[39m\n\u001b[36m</html>\u001b[39m\n at toHaveBeenCalledWith (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\ai-privacy-settings.test.tsx:32:41)\n at runWithExpensiveErrorDiagnosticsDisabled (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\config.js:47:12)\n at checkCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:124:77)\n at checkRealTimersCallback (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\@testing-library\\dom\\dist\\wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\node_modules\\jsdom\\lib\\jsdom\\browser\\Window.js:579:19)\n at listOnTimeout (node:internal/timers:635:17)\n at processTimers (node:internal/timers:571:7)"],"fullName":"availability refresh failure does not misreport an acknowledged save or repeat its write","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733969711,"status":"failed","title":"availability refresh failure does not misreport an acknowledged save or repeat its write"},{"ancestorTitles":[],"duration":189,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"failed AI preference writes do not refresh availability","invocations":1,"location":null,"numPassingAsserts":1,"retryReasons":[],"startAt":1793733973805,"status":"passed","title":"failed AI preference writes do not refresh availability"},{"ancestorTitles":[],"duration":70,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"an unmounted preference save cannot refresh a later account view","invocations":1,"location":null,"numPassingAsserts":2,"retryReasons":[],"startAt":1793733973994,"status":"passed","title":"an unmounted preference save cannot refresh a later account view"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] failed initial read has a read-only Retry and no perpetual loading","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] failed initial read has a read-only Retry and no perpetual loading"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] submitted acknowledgement preserves a newer edit and serializes Save","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] submitted acknowledgement preserves a newer edit and serializes Save"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] a failed save retains the draft and never replays through read recovery","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] a failed save retains the draft and never replays through read recovery"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] unmount ignores an old save acknowledgement and success notification","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] unmount ignores an old save acknowledgement and success notification"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] pending save uses the current language without refetching the draft","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] pending save uses the current language without refetching the draft"},{"ancestorTitles":[],"duration":null,"failing":false,"failureDetails":[],"failureMessages":[],"fullName":"[P7-09 privacy] local-only capability permits revoking a historical external consent","invocations":1,"location":null,"numPassingAsserts":0,"retryReasons":[],"startAt":1793733974064,"status":"pending","title":"[P7-09 privacy] local-only capability permits revoking a historical external consent"}],"endTime":1793733974082,"message":" ● a persisted AI preference refreshes server availability after the save acknowledgement\n\n expect(jest.fn()).toHaveBeenCalledTimes(expected)\n\n Expected number of calls: 1\n Received number of calls: 0\n\n Ignored nodes: comments, script, style\n \u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<button>\u001b[39m\n \u001b[0mBokmål\u001b[0m\n \u001b[36m</button>\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[0mAI privacy\u001b[0m\n \u001b[36m</h2>\u001b[39m\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 \u001b[0mControl AI processing for your account. External processing is off unless both you and an administrator explicitly allow it.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-busy\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI privacy\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-taqjlb\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mchecked\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEnable AI features for my account\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAllow approved external AI processing\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-2qd4a1-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mApproved external processing may be used only for Pro tasks when server policy permits it.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1mcghfl\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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 \u001b[0mSave AI privacy settings\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</section>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</body>\u001b[39m\n \u001b[36m</html>\u001b[39m\n\n 22 | mount({ onSaved }); await screen.findByRole('switch', { name: translations.en.settingsAiEnabled });\n 23 | fireEvent.click(screen.getByRole('button', { name: translations.en.settingsAiSave }));\n > 24 | await waitFor(() => expect(onSaved).toHaveBeenCalledTimes(1)); expect(order).toEqual(['save', 'refresh']);\n | ^\n 25 | });\n 26 |\n 27 | test('availability refresh failure does not misreport an acknowledged save or repeat its write', async () => {\n\n at toHaveBeenCalledTimes (src/ai-privacy-settings.test.tsx:24:39)\n at runWithExpensiveErrorDiagnosticsDisabled (node_modules/@testing-library/dom/dist/config.js:47:12)\n at checkCallback (node_modules/@testing-library/dom/dist/wait-for.js:124:77)\n at checkRealTimersCallback (node_modules/@testing-library/dom/dist/wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:579:19)\n\n ● availability refresh failure does not misreport an acknowledged save or repeat its write\n\n expect(jest.fn()).toHaveBeenCalledWith(...expected)\n\n Expected: undefined, \"warning\"\n Received: \"AI privacy settings saved.\", \"success\"\n\n Number of calls: 1\n\n Ignored nodes: comments, script, style\n \u001b[36m<html\u001b[39m\n \u001b[33mlang\u001b[39m=\u001b[32m\"en\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<head>\u001b[39m\n \u001b[36m<meta\u001b[39m\n \u001b[33mcontent\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mname\u001b[39m=\u001b[32m\"emotion-insertion-point\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</head>\u001b[39m\n \u001b[36m<body>\u001b[39m\n \u001b[36m<div>\u001b[39m\n \u001b[36m<button>\u001b[39m\n \u001b[0mBokmål\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m<section\u001b[39m\n \u001b[33maria-labelledby\u001b[39m=\u001b[32m\"_r_2_\"\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_2_\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAI privacy\u001b[0m\n \u001b[36m</h2>\u001b[39m\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 \u001b[0mControl AI processing for your account. External processing is off unless both you and an administrator explicitly allow it.\u001b[0m\n \u001b[36m</p>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</header>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-31l7gp\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33maria-busy\u001b[39m=\u001b[32m\"false\"\u001b[39m\n \u001b[33maria-label\u001b[39m=\u001b[32m\"AI privacy\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-taqjlb\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"group\"\u001b[39m\n \u001b[33mtabindex\u001b[39m=\u001b[32m\"-1\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary Mui-checked Mui-checked css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mchecked\u001b[39m=\u001b[32m\"\"\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mEnable AI features for my account\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<label\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiFormControlLabel-root MuiFormControlLabel-labelPlacementEnd css-19opgx6-MuiFormControlLabel-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-root MuiSwitch-sizeMedium css-rehya9-MuiSwitch-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary PrivateSwitchBase-root MuiSwitch-switchBase MuiSwitch-colorPrimary css-1c6expc-MuiButtonBase-root-MuiSwitchBase-root-MuiSwitch-switchBase\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<input\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"PrivateSwitchBase-input MuiSwitch-input css-gjsmck-MuiSwitchBase-root\"\u001b[39m\n \u001b[33mrole\u001b[39m=\u001b[32m\"switch\"\u001b[39m\n \u001b[33mtype\u001b[39m=\u001b[32m\"checkbox\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-thumb css-17jyosd-MuiSwitch-thumb\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiSwitch-track css-i082sz-MuiSwitch-track\"\u001b[39m\n \u001b[36m/>\u001b[39m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-body1 MuiFormControlLabel-label css-1px98du-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mAllow approved external AI processing\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m</label>\u001b[39m\n \u001b[36m<span\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiTypography-root MuiTypography-caption css-2qd4a1-MuiTypography-root\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[0mApproved external processing may be used only for Pro tasks when server policy permits it.\u001b[0m\n \u001b[36m</span>\u001b[39m\n \u001b[36m<div\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiBox-root css-1mcghfl\"\u001b[39m\n \u001b[36m>\u001b[39m\n \u001b[36m<button\u001b[39m\n \u001b[33mclass\u001b[39m=\u001b[32m\"MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary MuiButton-root MuiButton-contained MuiButton-containedPrimary MuiButton-sizeMedium MuiButton-containedSizeMedium MuiButton-colorPrimary css-83fk99-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 \u001b[0mSave AI privacy settings\u001b[0m\n \u001b[36m</button>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</section>\u001b[39m\n \u001b[36m</div>\u001b[39m\n \u001b[36m</body>\u001b[39m\n \u001b[36m</html>\u001b[39m\n\n 30 | mount({ onSaved }); await screen.findByRole('switch', { name: translations.en.settingsAiEnabled });\n 31 | fireEvent.click(screen.getByRole('button', { name: translations.en.settingsAiSave }));\n > 32 | await waitFor(() => expect(mockToast).toHaveBeenCalledWith(translations.en.settingsAiRefreshFailed, 'warning'));\n | ^\n 33 | expect(api.put).toHaveBeenCalledTimes(1); expect(screen.queryByText(translations.en.settingsAiSaveFailed)).not.toBeInTheDocument();\n 34 | });\n 35 |\n\n at toHaveBeenCalledWith (src/ai-privacy-settings.test.tsx:32:41)\n at runWithExpensiveErrorDiagnosticsDisabled (node_modules/@testing-library/dom/dist/config.js:47:12)\n at checkCallback (node_modules/@testing-library/dom/dist/wait-for.js:124:77)\n at checkRealTimersCallback (node_modules/@testing-library/dom/dist/wait-for.js:118:16)\n at Timeout.task [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:579:19)\n","name":"C:\\Users\\Connor\\.codex\\worktrees\\direct-roadmap-integration\\Job tracker\\job-tracker-ui\\src\\ai-privacy-settings.test.tsx","startTime":1793733961850,"status":"failed","summary":""}],"wasInterrupted":false}