mirror of
https://github.com/getpaseo/paseo.git
synced 2026-08-15 04:42:45 +00:00
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import { test, expect } from './fixtures';
|
|
import { createAgent, ensureHostSelected, gotoHome, setWorkingDirectory } from './helpers/app';
|
|
import { createTempGitRepo } from './helpers/workspace';
|
|
|
|
function parseAgentUrl(url: string): { serverId: string; agentId: string } {
|
|
const parsed = new URL(url);
|
|
const match = parsed.pathname.match(/\/h\/([^/]+)\/agent\/([^/?#]+)/);
|
|
if (!match) {
|
|
throw new Error(`Expected /h/:serverId/agent/:agentId URL, got ${url}`);
|
|
}
|
|
return {
|
|
serverId: decodeURIComponent(match[1]),
|
|
agentId: decodeURIComponent(match[2]),
|
|
};
|
|
}
|
|
|
|
test('create agent in a temp repo', async ({ page }) => {
|
|
const repo = await createTempGitRepo();
|
|
const prompt = "Respond with exactly: Hello";
|
|
|
|
try {
|
|
await gotoHome(page);
|
|
await setWorkingDirectory(page, repo.path);
|
|
await ensureHostSelected(page);
|
|
await createAgent(page, prompt);
|
|
|
|
// Verify user message is shown in the stream
|
|
await expect(page.getByText(prompt, { exact: true })).toBeVisible();
|
|
|
|
// Verify we used the seeded fast model (do not fall back to other defaults).
|
|
await page.getByTestId('agent-overflow-menu').click();
|
|
await expect(page.getByText('Model', { exact: true })).toBeVisible();
|
|
await expect(
|
|
page.getByTestId('agent-overflow-content').getByText(/gpt-5\.1-codex-mini/i)
|
|
).toBeVisible();
|
|
|
|
// Verify the created agent's title reflects the response.
|
|
const { serverId, agentId } = parseAgentUrl(page.url());
|
|
const agentRow = page.getByTestId(`agent-row-${serverId}-${agentId}`).first();
|
|
await expect(agentRow).not.toContainText(/new agent/i, { timeout: 30000 });
|
|
await expect(agentRow).toContainText(/hello|greet|response/i, { timeout: 30000 });
|
|
} finally {
|
|
await repo.cleanup();
|
|
}
|
|
});
|