{"numTotalTestSuites":13,"numPassedTestSuites":13,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":87,"numPassedTests":87,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1789121199375,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["account protection API"],"fullName":"account protection API previews and applies mode1 via the mode query","status":"passed","title":"previews and applies mode1 via the mode query","duration":1.696100000000115,"failureMessages":[],"meta":{}},{"ancestorTitles":["account protection API"],"fullName":"account protection API previews and applies mode2 via the mode query","status":"passed","title":"previews and applies mode2 via the mode query","duration":0.25909999999998945,"failureMessages":[],"meta":{}},{"ancestorTitles":["account protection API"],"fullName":"account protection API defaults to mode1 and leaves revert response unchanged","status":"passed","title":"defaults to mode1 and leaves revert response unchanged","duration":0.27330000000006294,"failureMessages":[],"meta":{}}],"startTime":1789121200786,"endTime":1789121200788.2732,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/api/__tests__/admin.accounts.antiDegrade.spec.ts"},{"assertionResults":[{"ancestorTitles":["locale key completeness"],"fullName":"locale key completeness keeps English and Chinese locale schemas identical","status":"passed","title":"keeps English and Chinese locale schemas identical","duration":4.366399999999885,"failureMessages":[],"meta":{}},{"ancestorTitles":["locale key completeness"],"fullName":"locale key completeness contains a non-empty message for every locale leaf","status":"passed","title":"contains a non-empty message for every locale leaf","duration":12.638299999999617,"failureMessages":[],"meta":{}},{"ancestorTitles":["locale key completeness"],"fullName":"locale key completeness contains every statically referenced production key","status":"passed","title":"contains every statically referenced production key","duration":3.7320999999992637,"failureMessages":[],"meta":{}}],"startTime":1789121205244,"endTime":1789121205264.7322,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/i18n/__tests__/localeKeyCompleteness.spec.ts"},{"assertionResults":[{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection keeps both mode buttons available, including previewing the active mode","status":"passed","title":"keeps both mode buttons available, including previewing the active mode","duration":62.308899999999994,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection shows backend policy details and issues without claiming enabled markers are healthy","status":"passed","title":"shows backend policy details and issues without claiming enabled markers are healthy","duration":14.866099999999733,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection only labels verified configuration as enabled and detects missing identity or TLS","status":"passed","title":"only labels verified configuration as enabled and detects missing identity or TLS","duration":18.576500000000124,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection does not force the switch on when apply returns a disabled account","status":"passed","title":"does not force the switch on when apply returns a disabled account","duration":17.201100000000224,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection keeps returned mode1 fields across stale prop replacement, reopening and ordinary save","status":"passed","title":"keeps returned mode1 fields across stale prop replacement, reopening and ordinary save","duration":27.935399999999845,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection switches to mode2 and restores complete server values on revert despite older props","status":"passed","title":"switches to mode2 and restores complete server values on revert despite older props","duration":19.36869999999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection uses the returned marker when revert does not disable the configuration","status":"passed","title":"uses the returned marker when revert does not disable the configuration","duration":8.971599999999853,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection retains an apply response arriving while closed and prevents overlapping ordinary save","status":"passed","title":"retains an apply response arriving while closed and prevents overlapping ordinary save","duration":17.265000000000327,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection clears returned policy overrides for another account and accepts genuinely newer props","status":"passed","title":"clears returned policy overrides for another account and accepts genuinely newer props","duration":17.882400000000416,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal account protection"],"fullName":"EditAccountModal account protection does not show an unsupported apply action and ignores preview completion after close","status":"passed","title":"does not show an unsupported apply action and ignores preview completion after close","duration":18.17159999999967,"failureMessages":[],"meta":{}}],"startTime":1789121201809,"endTime":1789121202032.1716,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/components/account/__tests__/EditAccountModal.antiDegrade.spec.ts"},{"assertionResults":[{"ancestorTitles":["EditAccountModal Grok media eligibility"],"fullName":"EditAccountModal Grok media eligibility shows only for Grok OAuth and fills the current decision","status":"passed","title":"shows only for Grok OAuth and fills the current decision","duration":83.92340000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok media eligibility"],"fullName":"EditAccountModal Grok media eligibility updates the dedicated endpoint only when the mode changes","status":"passed","title":"updates the dedicated endpoint only when the mode changes","duration":16.32250000000022,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok media eligibility"],"fullName":"EditAccountModal Grok media eligibility reports partial-save errors when the dedicated endpoint fails","status":"passed","title":"reports partial-save errors when the dedicated endpoint fails","duration":17.290199999999913,"failureMessages":[],"meta":{}}],"startTime":1789121201809,"endTime":1789121201926.2903,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/components/account/__tests__/EditAccountModal.grokMediaEligibility.spec.ts"},{"assertionResults":[{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config enabling the custom base URL toggle and saving persists base_url","status":"passed","title":"enabling the custom base URL toggle and saving persists base_url","duration":64.9097999999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config accepts the official API host as a manual endpoint switch and persists it","status":"passed","title":"accepts the official API host as a manual endpoint switch and persists it","duration":16.315100000000257,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config echoes a stored official API endpoint with the toggle on","status":"passed","title":"echoes a stored official API endpoint with the toggle on","duration":9.920700000000124,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config fills the input from an endpoint preset chip","status":"passed","title":"fills the input from an endpoint preset chip","duration":11.116899999999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config loads an existing custom base_url with the toggle on and keeps it on save","status":"passed","title":"loads an existing custom base_url with the toggle on and keeps it on save","duration":13.368600000000242,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config keeps stored header overrides intact on an untouched save","status":"passed","title":"keeps stored header overrides intact on an untouched save","duration":13.631800000000112,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config shows the client-tool cache switch only for Grok OAuth accounts","status":"passed","title":"shows the client-tool cache switch only for Grok OAuth accounts","duration":23.824099999999817,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config loads and disables client-tool caching while preserving unrelated extra fields","status":"passed","title":"loads and disables client-tool caching while preserving unrelated extra fields","duration":9.633700000000317,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config defaults client-tool caching on when the setting is missing and persists explicit true","status":"passed","title":"defaults client-tool caching on when the setting is missing and persists explicit true","duration":8.244400000000041,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config keeps an explicit false opt-out when saving an untouched account","status":"passed","title":"keeps an explicit false opt-out when saving an untouched account","duration":8.776100000000042,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal Grok OAuth upstream config"],"fullName":"EditAccountModal Grok OAuth upstream config shows malformed cache settings as disabled so the UI matches the fail-closed backend","status":"passed","title":"shows malformed cache settings as disabled so the UI matches the fail-closed backend","duration":7.887299999999868,"failureMessages":[],"meta":{}}],"startTime":1789121201809,"endTime":1789121201996.8872,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/components/account/__tests__/EditAccountModal.grokUpstream.spec.ts"},{"assertionResults":[{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal sets expiry presets from now instead of extending the saved expiry","status":"passed","title":"sets expiry presets from now instead of extending the saved expiry","duration":83.74539999999979,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal can clear a selected expiry preset before saving the account","status":"passed","title":"can clear a selected expiry preset before saving the account","duration":24.091100000000097,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal allows removing assigned inactive groups and undoing the selection before saving","status":"passed","title":"allows removing assigned inactive groups and undoing the selection before saving","duration":28.18600000000015,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal reopening the same account rehydrates the OpenAI whitelist from props","status":"passed","title":"reopening the same account rehydrates the OpenAI whitelist from props","duration":24.41549999999961,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves adaptive Kimi Responses endpoint on submit","status":"passed","title":"preserves adaptive Kimi Responses endpoint on submit","duration":10.647500000000036,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves adaptive GLM endpoints on submit","status":"passed","title":"preserves adaptive GLM endpoints on submit","duration":10.706100000000333,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves a custom CN relay for explicit Chat Completions accounts","status":"passed","title":"preserves a custom CN relay for explicit Chat Completions accounts","duration":10.147899999999936,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves a custom CN relay for legacy missing protocol accounts","status":"passed","title":"preserves a custom CN relay for legacy missing protocol accounts","duration":11.009799999999814,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal uses the legacy base_url when adaptive endpoints are missing","status":"passed","title":"uses the legacy base_url when adaptive endpoints are missing","duration":9.177099999999882,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal carries a fixed Chat relay into Adaptive when the user switches protocols","status":"passed","title":"carries a fixed Chat relay into Adaptive when the user switches protocols","duration":15.075199999999768,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal keeps a fixed 'Anthropic' relay in its protocol slot when switching to Adaptive","status":"passed","title":"keeps a fixed 'Anthropic' relay in its protocol slot when switching to Adaptive","duration":9.441800000000057,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal keeps a fixed 'Responses' relay in its protocol slot when switching to Adaptive","status":"passed","title":"keeps a fixed 'Responses' relay in its protocol slot when switching to Adaptive","duration":8.678200000000288,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves model mappings when editing the whitelist","status":"passed","title":"preserves model mappings when editing the whitelist","duration":11.491999999999734,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits OpenAI compact mode and compact-only model mapping","status":"passed","title":"submits OpenAI compact mode and compact-only model mapping","duration":12.0933,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal loads and submits the per-account OpenAI long-context billing toggle","status":"passed","title":"loads and submits the per-account OpenAI long-context billing toggle","duration":12.03819999999996,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal loads and clears the OAuth-only Codex namespace flatten toggle","status":"passed","title":"loads and clears the OAuth-only Codex namespace flatten toggle","duration":10.587299999999686,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits the Codex namespace flatten toggle when switched on","status":"passed","title":"submits the Codex namespace flatten toggle when switched on","duration":13.914999999999964,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal writes the upstream request id header into extra only when it changes","status":"passed","title":"writes the upstream request id header into extra only when it changes","duration":21.057400000000143,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal removes the upstream request id header from extra when cleared","status":"passed","title":"removes the upstream request id header from extra when cleared","duration":10.585499999999683,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal writes images_url_to_b64_json into extra when toggled on","status":"passed","title":"writes images_url_to_b64_json into extra when toggled on","duration":10.654700000000048,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal removes images_url_to_b64_json from extra when toggled off","status":"passed","title":"removes images_url_to_b64_json from extra when toggled off","duration":10.55029999999988,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal hides the Codex namespace flatten toggle for non-OAuth OpenAI accounts","status":"passed","title":"hides the Codex namespace flatten toggle for non-OAuth OpenAI accounts","duration":7.1710000000002765,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal defaults legacy OpenAI accounts to long-context billing disabled","status":"passed","title":"defaults legacy OpenAI accounts to long-context billing disabled","duration":14.410600000000159,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal does not render or submit the long-context billing toggle for Spark shadow accounts","status":"passed","title":"does not render or submit the long-context billing toggle for Spark shadow accounts","duration":6.945700000000215,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal preserves an explicit OpenAI long-context billing opt-out","status":"passed","title":"preserves an explicit OpenAI long-context billing opt-out","duration":9.454299999999876,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal fails closed for malformed OpenAI long-context billing values","status":"passed","title":"fails closed for malformed OpenAI long-context billing values","duration":10.231499999999869,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal loads and submits Grok OAuth model mapping edits","status":"passed","title":"loads and submits Grok OAuth model mapping edits","duration":10.002399999999852,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal uses the official xAI base URL when a Grok API-key account omits base_url","status":"passed","title":"uses the official xAI base URL when a Grok API-key account omits base_url","duration":8.151100000000042,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal only submits model mapping credentials when saving an OpenAI spark shadow account","status":"passed","title":"only submits model mapping credentials when saving an OpenAI spark shadow account","duration":7.854800000000068,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits OpenAI APIKey Responses support override mode","status":"passed","title":"submits OpenAI APIKey Responses support override mode","duration":15.120300000000043,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits the account upstream billing auto-probe setting","status":"passed","title":"submits the account upstream billing auto-probe setting","duration":10.909299999999803,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal exposes the upstream billing auto-probe toggle for non-OpenAI API-key accounts","status":"passed","title":"exposes the upstream billing auto-probe toggle for non-OpenAI API-key accounts","duration":8.703199999999924,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal enabling rate sync also enables probing and stops submitting a manual rate","status":"passed","title":"enabling rate sync also enables probing and stops submitting a manual rate","duration":11.119300000000294,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal disabling probing also disables rate sync and restores manual rate editing","status":"passed","title":"disabling probing also disables rate sync and restores manual rate editing","duration":10.0320999999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal disabling only rate sync keeps automatic probing enabled","status":"passed","title":"disabling only rate sync keeps automatic probing enabled","duration":10.170399999999972,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal clears OpenAI APIKey Responses override when set back to auto","status":"passed","title":"clears OpenAI APIKey Responses override when set back to auto","duration":15.12519999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits OpenAI APIKey endpoint capabilities from credentials","status":"passed","title":"submits OpenAI APIKey endpoint capabilities from credentials","duration":10.041900000000169,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits OpenAI quota auto-pause thresholds in extra","status":"passed","title":"submits OpenAI quota auto-pause thresholds in extra","duration":11.508499999999913,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits OpenAI quota auto-pause disable flag in extra","status":"passed","title":"submits OpenAI quota auto-pause disable flag in extra","duration":10.143599999999878,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal keeps at least one OpenAI APIKey endpoint capability selected","status":"passed","title":"keeps at least one OpenAI APIKey endpoint capability selected","duration":11.059099999999944,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal disables text generation protocol when only embeddings requests are accepted","status":"passed","title":"disables text generation protocol when only embeddings requests are accepted","duration":9.897800000000188,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits Codex image tool force-inject mode as bridge override","status":"passed","title":"submits Codex image tool force-inject mode as bridge override","duration":10.695300000000316,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits Codex image tool no-injection mode without strip policy","status":"passed","title":"submits Codex image tool no-injection mode without strip policy","duration":13.843600000000151,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal submits Codex image tool block mode as strip policy and clears bridge override","status":"passed","title":"submits Codex image tool block mode as strip policy and clears bridge override","duration":9.416200000000117,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal loads strip policy as block mode and clears both keys when reset to inherit","status":"passed","title":"loads strip policy as block mode and clears both keys when reset to inherit","duration":9.235299999999825,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal setup-token account can select and submit OAuth WS mode","status":"passed","title":"setup-token account can select and submit OAuth WS mode","duration":7.974999999999909,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal allows saving apikey account when backend redacted api_key but credentials_status reports it exists","status":"passed","title":"allows saving apikey account when backend redacted api_key but credentials_status reports it exists","duration":9.480799999999817,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal allows saving apikey account against legacy backend without credentials_status","status":"passed","title":"allows saving apikey account against legacy backend without credentials_status","duration":9.015699999999924,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal blocks apikey save when neither credentials_status nor legacy api_key indicates existence","status":"passed","title":"blocks apikey save when neither credentials_status nor legacy api_key indicates existence","duration":6.860599999999977,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal allows saving Vertex SA account when backend redacted service_account_json but credentials_status reports it exists","status":"passed","title":"allows saving Vertex SA account when backend redacted service_account_json but credentials_status reports it exists","duration":11.64200000000028,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal allows saving Vertex SA account against legacy backend without credentials_status","status":"passed","title":"allows saving Vertex SA account against legacy backend without credentials_status","duration":6.248599999999897,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal blocks Vertex SA save when neither credentials_status nor legacy json indicates existence","status":"passed","title":"blocks Vertex SA save when neither credentials_status nor legacy json indicates existence","duration":5.370499999999993,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal loads and submits Antigravity configured project fallback","status":"passed","title":"loads and submits Antigravity configured project fallback","duration":7.920700000000124,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal"],"fullName":"EditAccountModal clears Antigravity configured project fallback when input is empty","status":"passed","title":"clears Antigravity configured project fallback when input is empty","duration":7.975100000000111,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal OpenAI 自动使用重置卡"],"fullName":"EditAccountModal OpenAI 自动使用重置卡 仅对 OpenAI OAuth 母账号显示,默认关闭且阈值为 100/100","status":"passed","title":"仅对 OpenAI OAuth 母账号显示,默认关闭且阈值为 100/100","duration":29.428399999999783,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal OpenAI 自动使用重置卡"],"fullName":"EditAccountModal OpenAI 自动使用重置卡 独立保存两个阈值,并禁止把运行态回写到管理请求","status":"passed","title":"独立保存两个阈值,并禁止把运行态回写到管理请求","duration":20.23869999999988,"failureMessages":[],"meta":{}},{"ancestorTitles":["EditAccountModal OpenAI 自动使用重置卡"],"fullName":"EditAccountModal OpenAI 自动使用重置卡 开启后拒绝超出 0.1–100 范围的任一阈值","status":"passed","title":"开启后拒绝超出 0.1–100 范围的任一阈值","duration":14.79469999999992,"failureMessages":[],"meta":{}}],"startTime":1789121201810,"endTime":1789121202557.7947,"status":"passed","message":"","name":"C:/Users/ROG/Documents/ChatGPT/sub2升级/work/mode1-local/frontend/src/components/account/__tests__/EditAccountModal.spec.ts"}]}