diff --git a/packages/html-reporter/src/icons.tsx b/packages/html-reporter/src/icons.tsx index df40c82f00..ffe6a08fcf 100644 --- a/packages/html-reporter/src/icons.tsx +++ b/packages/html-reporter/src/icons.tsx @@ -97,9 +97,3 @@ export const copy = () => { ; }; - -export const copilot = () => { - return ; -}; diff --git a/packages/html-reporter/src/testErrorView.css b/packages/html-reporter/src/testErrorView.css index 5b6b10389b..7cc9e88a79 100644 --- a/packages/html-reporter/src/testErrorView.css +++ b/packages/html-reporter/src/testErrorView.css @@ -34,3 +34,29 @@ .test-error-text { font-family: monospace; } + +.prompt-button { + flex: none; + height: 24px; + width: 80px; + border: 1px solid var(--color-btn-border); + outline: none; + color: var(--color-btn-text); + background: var(--color-btn-bg); + padding: 4px; + cursor: pointer; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 4px; +} + +.prompt-button svg { + color: var(--color-fg-subtle); +} + +.prompt-button:not(:disabled):hover { + border-color: var(--color-btn-hover-border); + background-color: var(--color-btn-hover-bg); +} + diff --git a/packages/html-reporter/src/testErrorView.tsx b/packages/html-reporter/src/testErrorView.tsx index d21daa85dc..477311387e 100644 --- a/packages/html-reporter/src/testErrorView.tsx +++ b/packages/html-reporter/src/testErrorView.tsx @@ -21,7 +21,6 @@ import * as icons from './icons'; import type { ImageDiff } from '@web/shared/imageDiffView'; import { ImageDiffView } from '@web/shared/imageDiffView'; import type { TestResult } from './types'; -import { CopyToClipboard } from './copyToClipboard'; import { fixTestPrompt } from '@web/components/prompts'; import { useGitCommitInfo } from './metadataView'; @@ -56,7 +55,19 @@ const PromptButton: React.FC<{ result?.attachments.find(a => a.name === 'pageSnapshot')?.body ), [gitCommitInfo, result, error]); - return } title='Copy prompt to clipboard' />; + const [copied, setCopied] = React.useState(false); + + return ; }; export const TestScreenshotErrorView: React.FC<{ diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts index 2000ae9fb9..acb54f3b31 100644 --- a/tests/playwright-test/reporter-html.spec.ts +++ b/tests/playwright-test/reporter-html.spec.ts @@ -2742,7 +2742,7 @@ for (const useIntermediateMergeReport of [true, false] as const) { await page.context().grantPermissions(['clipboard-read', 'clipboard-write']); await page.getByRole('link', { name: 'sample' }).click(); - await page.getByRole('button', { name: 'Copy prompt to clipboard' }).click(); + await page.getByRole('button', { name: 'Fix with AI' }).click(); const prompt = await page.evaluate(() => navigator.clipboard.readText()); expect(prompt, 'contains error').toContain('expect(received).toBe(expected)'); expect(prompt, 'contains diff').toContain(`+ test('sample', async ({}) => { expect(2).toBe(3); });`);