fix: improve Code Agent long request UX
This commit is contained in:
@@ -9,6 +9,7 @@ import {
|
||||
parseSmokeArgs,
|
||||
runDevCloudWorkbenchLayoutSmoke,
|
||||
runDevCloudWorkbenchQuickPromptsFixtureSmoke,
|
||||
runDevCloudWorkbenchSlowBlockerFixtureSmoke,
|
||||
runDevCloudWorkbenchStaticSmoke,
|
||||
runDevCloudWorkbenchTimeoutFixtureSmoke,
|
||||
sanitizeAgentChatBody
|
||||
@@ -671,6 +672,32 @@ test("local Code Agent timeout fixture keeps failed UI state, trace evidence, an
|
||||
assert.equal(timeoutCheck.observations.ui.completedMessageVisible, false);
|
||||
});
|
||||
|
||||
test("local slow structured blocker fixture preserves trace, pending state, and retry input", async () => {
|
||||
const report = await runDevCloudWorkbenchSlowBlockerFixtureSmoke({
|
||||
responseDelayMs: 5200
|
||||
});
|
||||
|
||||
if (report.status === "skip") {
|
||||
assert.match(report.summary, /Playwright is unavailable/u);
|
||||
return;
|
||||
}
|
||||
|
||||
assert.equal(report.status, "pass", JSON.stringify(report.blockers, null, 2));
|
||||
assert.equal(report.evidenceLevel, "SOURCE");
|
||||
assert.equal(report.devLive, false);
|
||||
const blockerCheck = report.checks.find((check) => check.id === "local-agent-fixture-slow-structured-blocker");
|
||||
assert.equal(blockerCheck?.status, "pass");
|
||||
assert.equal(blockerCheck.observations.ui.agentChatStatus, "Runner 受阻");
|
||||
assert.equal(blockerCheck.observations.ui.failedMessageVisible, true);
|
||||
assert.equal(blockerCheck.observations.ui.failedMessageHasTrace, true);
|
||||
assert.equal(blockerCheck.observations.ui.retryInputPreserved, true);
|
||||
assert.equal(blockerCheck.observations.ui.retryInputValue, "列出你能使用的所有skill");
|
||||
assert.equal(blockerCheck.observations.prompt.legacyWindow.permanentFailureAround4500ms, false);
|
||||
assert.equal(blockerCheck.observations.prompt.legacyWindow.pendingChineseVisible, true);
|
||||
assert.equal(blockerCheck.observations.prompt.response.error.code, "skills_unavailable");
|
||||
assert.equal(blockerCheck.observations.prompt.classification.blocker, "runner-blocked");
|
||||
});
|
||||
|
||||
test("Code Agent quick prompt fixture fills input, does not autosend writes, and fits mobile", async () => {
|
||||
const report = await runDevCloudWorkbenchQuickPromptsFixtureSmoke();
|
||||
if (report.status === "skip") {
|
||||
|
||||
Reference in New Issue
Block a user