From 471f8031aa6e28d3b6b1a562ec4661dc37df45dd Mon Sep 17 00:00:00 2001 From: Robert Gruen Date: Mon, 3 Feb 2025 14:10:21 -0800 Subject: [PATCH] fixed session tests --- .../shell/test/sessionCommands.spec.ts | 34 +++++++++---------- ts/packages/shell/test/simple.spec.ts | 1 - ts/packages/shell/test/testHelper.ts | 20 +++++------ 3 files changed, 26 insertions(+), 29 deletions(-) diff --git a/ts/packages/shell/test/sessionCommands.spec.ts b/ts/packages/shell/test/sessionCommands.spec.ts index 748ab73d2..fa8967e0b 100644 --- a/ts/packages/shell/test/sessionCommands.spec.ts +++ b/ts/packages/shell/test/sessionCommands.spec.ts @@ -12,7 +12,7 @@ import { getAppPath, getLastAgentMessage, sendUserRequest, - sendUserRequestAndWaitForResponse, + sendUserRequestAndWaitForCompletion, startShell, waitForAgentMessage, } from "./testHelper"; @@ -29,20 +29,20 @@ test.describe("@session Commands", () => { const mainWindow: Page = await startShell(); // get the session count - let msg = await sendUserRequestAndWaitForResponse( + let msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); const sessions: string[] = msg.split("\n"); - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session new`, mainWindow, ); expect(msg.toLowerCase()).toContain("new session created: "); - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); @@ -52,7 +52,7 @@ test.describe("@session Commands", () => { sessions.length + 1, ); - msg = await sendUserRequestAndWaitForResponse(`@history`, mainWindow); + msg = await sendUserRequestAndWaitForCompletion(`@history`, mainWindow); expect(msg.length, "History NOT cleared!").toBe(0); // close the application @@ -66,14 +66,14 @@ test.describe("@session Commands", () => { const mainWindow: Page = await startShell(); // create a new session so we have at least two - let msg = await sendUserRequestAndWaitForResponse( + let msg = await sendUserRequestAndWaitForCompletion( `@session new`, mainWindow, ); expect(msg.toLowerCase()).toContain("new session created: "); // get the session count - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); @@ -82,7 +82,7 @@ test.describe("@session Commands", () => { const sessionName: string = sessions[sessions.length - 1]; // issue delete session command - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session delete ${sessions[0]}`, mainWindow, ); @@ -92,7 +92,7 @@ test.describe("@session Commands", () => { await mainWindow.locator(".choice-button", { hasText: "No" }).click(); // verify session not deleted - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); @@ -102,7 +102,7 @@ test.describe("@session Commands", () => { ); // reissue delete session command - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session delete ${sessions[0]}`, mainWindow, ); @@ -112,7 +112,7 @@ test.describe("@session Commands", () => { await mainWindow.locator(".choice-button", { hasText: "Yes" }).click(); // get new session count - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); @@ -122,7 +122,7 @@ test.describe("@session Commands", () => { ); // get session info - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session info`, mainWindow, ); @@ -140,14 +140,14 @@ test.describe("@session Commands", () => { const mainWindow: Page = await startShell(); // reset - let msg = await sendUserRequestAndWaitForResponse( + let msg = await sendUserRequestAndWaitForCompletion( `@session reset`, mainWindow, ); expect(msg).toContain("Session settings revert to default."); // issue clear session command - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session clear`, mainWindow, ); @@ -167,21 +167,21 @@ test.describe("@session Commands", () => { const mainWindow: Page = await startShell(); // create a new session - let msg = await sendUserRequestAndWaitForResponse( + let msg = await sendUserRequestAndWaitForCompletion( `@session new`, mainWindow, ); expect(msg.toLowerCase()).toContain("new session created: "); // get the session list - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session list`, mainWindow, ); const sessions: string[] = msg.split("\n"); // open the earlier session - msg = await sendUserRequestAndWaitForResponse( + msg = await sendUserRequestAndWaitForCompletion( `@session open ${sessions[0]}`, mainWindow, ); diff --git a/ts/packages/shell/test/simple.spec.ts b/ts/packages/shell/test/simple.spec.ts index bcbe12e6c..613a1bea6 100644 --- a/ts/packages/shell/test/simple.spec.ts +++ b/ts/packages/shell/test/simple.spec.ts @@ -40,7 +40,6 @@ test("why is the sky blue?", { tag: "@smoke" }, async ({}, testInfo) => { const msg = await sendUserRequestAndWaitForCompletion( `why is the sky blue?`, mainWindow, - 1, ); expect( diff --git a/ts/packages/shell/test/testHelper.ts b/ts/packages/shell/test/testHelper.ts index ecf3834ae..75ab66fef 100644 --- a/ts/packages/shell/test/testHelper.ts +++ b/ts/packages/shell/test/testHelper.ts @@ -217,12 +217,10 @@ export async function sendUserRequestAndWaitForResponse( * * @param prompt The user request/prompt. * @param page The page hosting the user shell - * @param expectedNumberOfAgentMessages The number of expected agent messages to wait for/receive */ export async function sendUserRequestAndWaitForCompletion( prompt: string, page: Page, - expectedNumberOfAgentMessages: number = 1, ): Promise { // TODO: implement const locators: Locator[] = await page @@ -248,7 +246,7 @@ export async function getLastAgentMessageText(page: Page): Promise { .locator(".chat-message-agent .chat-message-content") .all(); - return locators[0].innerText(); + return await locators[0].innerText(); } /** @@ -311,15 +309,15 @@ export async function waitForAgentMessage( let originalAgentMessageCount = locators.length; let messageCount = originalAgentMessageCount; - if ( - expectedMessageCount == messageCount && - (!waitForMessageCompletion || - (await isMessageCompleted(await getLastAgentMessage(page)))) - ) { - return; - } - do { + if ( + expectedMessageCount == messageCount && + (!waitForMessageCompletion || + (await isMessageCompleted(await getLastAgentMessage(page)))) + ) { + return; + } + await page.waitForTimeout(1000); timeWaited += 1000;