From ae45dbd757281df6abcf4fa79e344cd4b1f74369 Mon Sep 17 00:00:00 2001 From: hitesh-1997 Date: Thu, 19 Dec 2024 23:58:40 +0530 Subject: [PATCH] autoedits e2e tests --- vscode/package.json | 10 +- vscode/src/autoedits/autoedits-provider.ts | 19 +- vscode/src/autoedits/prompt/test-helper.ts | 27 ++ .../autoedits/renderer/mock-renderer.test.ts | 318 ++++++++++++++++++ .../{renderer-testing.ts => mock-renderer.ts} | 46 +-- .../src/autoedits/shrink-prediction.test.ts | 38 +-- vscode/src/main.ts | 2 +- .../autoedits-multi-line-diff-view-1.png | Bin 0 -> 131469 bytes vscode/test/e2e/auto-edits.test.ts | 71 ++++ .../auto-edits/diff-view-example-1.py | 79 +++++ 10 files changed, 550 insertions(+), 60 deletions(-) create mode 100644 vscode/src/autoedits/prompt/test-helper.ts create mode 100644 vscode/src/autoedits/renderer/mock-renderer.test.ts rename vscode/src/autoedits/renderer/{renderer-testing.ts => mock-renderer.ts} (82%) create mode 100644 vscode/test/e2e/__snapshots__/auto-edits.test.ts/autoedits-multi-line-diff-view-1.png create mode 100644 vscode/test/e2e/auto-edits.test.ts create mode 100644 vscode/test/fixtures/workspace/auto-edits/diff-view-example-1.py diff --git a/vscode/package.json b/vscode/package.json index ae7e546d9dc8..7a0be8200ebc 100644 --- a/vscode/package.json +++ b/vscode/package.json @@ -597,6 +597,11 @@ "command": "cody.command.insertCodeToNewFile", "title": "Save Code to New File...", "enablement": "cody.activated" + }, + { + "command": "cody.command.autoedits-manual-trigger", + "title": "Autoedits Manual Trigger", + "enablement": "cody.activated && config.cody.experimental.autoedits.enabled" } ], "keybindings": [ @@ -759,11 +764,6 @@ "key": "escape", "when": "editorTextFocus && cody.activated && cody.supersuggest.active" }, - { - "command": "cody.experimental.suggest", - "key": "ctrl+shift+enter", - "when": "cody.activated && config.cody.experimental.autoedits.enabled" - }, { "command": "cody.supersuggest.testExample", "key": "ctrl+alt+enter", diff --git a/vscode/src/autoedits/autoedits-provider.ts b/vscode/src/autoedits/autoedits-provider.ts index 37cb1babe19a..b5f429ee0ca6 100644 --- a/vscode/src/autoedits/autoedits-provider.ts +++ b/vscode/src/autoedits/autoedits-provider.ts @@ -39,7 +39,7 @@ import { AutoEditsDefaultRendererManager, type AutoEditsRendererManager } from ' import { extractAutoEditResponseFromCurrentDocumentCommentTemplate, shrinkReplacerTextToCodeToReplaceRange, -} from './renderer/renderer-testing' +} from './renderer/mock-renderer' // import { shrinkPredictionUntilSuffix } from './shrink-prediction' const AUTOEDITS_CONTEXT_STRATEGY = 'auto-edits' @@ -84,6 +84,10 @@ export class AutoeditsProvider implements vscode.InlineCompletionItemProvider, v private readonly promptProvider: AutoeditsUserPromptStrategy = new ShortTermPromptStrategy() private readonly filterPrediction = new FilterPredictionBasedOnRecentEdits() + /** + * Flag to enable mock responses from the current document template. + * This is also used in e2e tests to provide deterministic responses. + */ private isMockResponseFromCurrentDocumentTemplateEnabled = vscode.workspace .getConfiguration() .get('cody.experimental.autoedits.use-mock-responses', false) @@ -120,6 +124,14 @@ export class AutoeditsProvider implements vscode.InlineCompletionItemProvider, v vscode.window.onDidChangeTextEditorSelection(this.onSelectionChangeDebounced), vscode.workspace.onDidChangeTextDocument(event => { this.onDidChangeTextDocument(event) + }), + // Command used to trigger autoedits manually via command palette and is used by e2e test + vscode.commands.registerCommand('cody.command.autoedits-manual-trigger', async () => { + this.showAutoEdit( + vscode.window.activeTextEditor!.document!, + vscode.window.activeTextEditor!.selection.active, + new AbortController().signal + ) }) ) } @@ -278,7 +290,10 @@ export class AutoeditsProvider implements vscode.InlineCompletionItemProvider, v let response: string | undefined = undefined if (this.isMockResponseFromCurrentDocumentTemplateEnabled) { - const responseMetadata = extractAutoEditResponseFromCurrentDocumentCommentTemplate() + const responseMetadata = extractAutoEditResponseFromCurrentDocumentCommentTemplate( + options.document, + options.position + ) if (responseMetadata) { response = shrinkReplacerTextToCodeToReplaceRange(responseMetadata, codeToReplace) diff --git a/vscode/src/autoedits/prompt/test-helper.ts b/vscode/src/autoedits/prompt/test-helper.ts new file mode 100644 index 000000000000..ede0d03a82ee --- /dev/null +++ b/vscode/src/autoedits/prompt/test-helper.ts @@ -0,0 +1,27 @@ +import dedent from 'dedent' +import { getCurrentDocContext } from '../../completions/get-current-doc-context' +import { documentAndPosition } from '../../completions/test-helpers' +import { type CodeToReplaceData, getCurrentFilePromptComponents } from '../prompt/prompt-utils' + +export function createCodeToReplaceDataForTest( + code: TemplateStringsArray, + ...values: unknown[] +): CodeToReplaceData { + const { document, position } = documentAndPosition(dedent(code, values)) + const docContext = getCurrentDocContext({ + document, + position, + maxPrefixLength: 100, + maxSuffixLength: 100, + }) + + return getCurrentFilePromptComponents({ + docContext, + position, + document, + maxPrefixLinesInArea: 2, + maxSuffixLinesInArea: 2, + codeToRewritePrefixLines: 1, + codeToRewriteSuffixLines: 1, + }).codeToReplace +} diff --git a/vscode/src/autoedits/renderer/mock-renderer.test.ts b/vscode/src/autoedits/renderer/mock-renderer.test.ts new file mode 100644 index 000000000000..cb0bb0442c30 --- /dev/null +++ b/vscode/src/autoedits/renderer/mock-renderer.test.ts @@ -0,0 +1,318 @@ +import dedent from 'dedent' +import { describe, expect, it, vi } from 'vitest' +import * as vscode from 'vscode' +import { documentAndPosition } from '../../completions/test-helpers' +import { createCodeToReplaceDataForTest } from '../prompt/test-helper' +import { + INITIAL_TEXT_START_MARKER, + REPLACER_TEXT_END_MARKER, + REPLACER_TEXT_START_MARKER, + extractAutoEditResponseFromCurrentDocumentCommentTemplate, + getTextBetweenMarkers, + shrinkReplacerTextToCodeToReplaceRange, +} from './mock-renderer' + +describe('renderer-testing', () => { + const createDocumentTextForMockRenderer = (param: { + beforeText: string + initialText: string + replacerText: string + afterText: string + }) => { + const textList = [ + param.beforeText, + INITIAL_TEXT_START_MARKER, + param.initialText, + REPLACER_TEXT_START_MARKER, + param.replacerText, + REPLACER_TEXT_END_MARKER, + param.afterText, + ] + return textList.join('') + } + describe('extractAutoEditResponseFromCurrentDocumentCommentTemplate', () => { + it('extracts initial and replacement text correctly', () => { + const documentText = createDocumentTextForMockRenderer({ + beforeText: 'Some text before', + initialText: 'initial text here', + replacerText: 'replacement text here', + afterText: 'Some text█ after', + }) + const { document, position } = documentAndPosition(documentText) + const result = extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + + expect(result).toEqual({ + initial: { + text: 'initial text here', + startOffset: 22, + endOffset: 39, + }, + replacer: { + text: 'replacement text here', + startOffset: 45, + endOffset: 66, + }, + }) + }) + + it('handles empty initial and replacement text', () => { + const documentText = createDocumentTextForMockRenderer({ + beforeText: 'Some text before', + initialText: '', + replacerText: '', + afterText: 'Some text█ after', + }) + const { document, position } = documentAndPosition(documentText) + const result = extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + + expect(result).toEqual({ + initial: { + text: '', + startOffset: 22, + endOffset: 22, + }, + replacer: { + text: '', + startOffset: 28, + endOffset: 28, + }, + }) + }) + + it('handles special characters in text', () => { + const documentText = createDocumentTextForMockRenderer({ + beforeText: 'Some text before', + initialText: '/**\n * @test\n */', + replacerText: '// Special chars: $@#%^&*', + afterText: 'Some text█ after', + }) + const { document, position } = documentAndPosition(documentText) + const result = extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + + expect(result).toEqual({ + initial: { + text: '/**\n * @test\n */', + startOffset: 22, + endOffset: 38, + }, + replacer: { + text: '// Special chars: $@#%^&*', + startOffset: 44, + endOffset: 69, + }, + }) + }) + + it('returns undefined when no editor is active', () => { + vi.spyOn(vscode.window, 'activeTextEditor', 'get').mockReturnValue(undefined) + const result = extractAutoEditResponseFromCurrentDocumentCommentTemplate( + undefined, + undefined + ) + expect(result).toBeUndefined() + }) + }) + + describe('shrinkReplacerTextToCodeToReplaceRange', () => { + it('shrinks replacer text to code to replace range', () => { + const initialText = dedent` + // text before + const a = 1 + const b = + const c = 3 + console.log(a, b, c) + // text after + ` + const replacerText = dedent` + // text before + const a = 1 + const b = 2 + const c = 3 + console.log(a, b, c) + // text after + ` + const finalText = dedent` + // text before + const a = 1 + const b =█ + const c = 3 + console.log(a, b, c) + // text after + ` + const documentText = createDocumentTextForMockRenderer({ + beforeText: '', + initialText: initialText, + replacerText: replacerText, + afterText: finalText, + }) + const { document, position } = documentAndPosition(documentText) + const autoEditResponseFromTemplate = + extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + expect(autoEditResponseFromTemplate).toBeDefined() + + const codeToReplaceData = createCodeToReplaceDataForTest`${documentText}` + const result = shrinkReplacerTextToCodeToReplaceRange( + autoEditResponseFromTemplate!, + codeToReplaceData + ) + expect(result).toEqual(dedent` + const a = 1 + const b = 2 + const c = 3\n + `) + }) + + it('handles code with different line endings', () => { + const initialText = 'line1\r\nline2\r\nline3' + const replacerText = 'line1\r\nmodified\r\nline3' + const finalText = 'line1\r\nline2█\r\nline3' + + const documentText = createDocumentTextForMockRenderer({ + beforeText: '', + initialText, + replacerText, + afterText: finalText, + }) + const { document, position } = documentAndPosition(documentText) + const autoEditResponseFromTemplate = + extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + const codeToReplaceData = createCodeToReplaceDataForTest`${documentText}` + + const result = shrinkReplacerTextToCodeToReplaceRange( + autoEditResponseFromTemplate!, + codeToReplaceData + ) + expect(result).toEqual('line1\r\nmodified\r\nline3') + }) + + it('returns undefined when code to rewrite is not found', () => { + const initialText = 'original text' + const replacerText = 'modified text' + const finalText = 'wrong text█' + + const documentText = createDocumentTextForMockRenderer({ + beforeText: '', + initialText, + replacerText, + afterText: finalText, + }) + const { document, position } = documentAndPosition(documentText) + const autoEditResponseFromTemplate = + extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + const codeToReplaceData = createCodeToReplaceDataForTest`${documentText}` + + const result = shrinkReplacerTextToCodeToReplaceRange( + autoEditResponseFromTemplate!, + codeToReplaceData + ) + expect(result).toBeUndefined() + }) + + it('preserves trailing newline if present in original code', () => { + const initialText = 'line1\nline2\n' + const replacerText = 'line1\nmodified\n' + const finalText = 'line1\nline2█\n' + + const documentText = createDocumentTextForMockRenderer({ + beforeText: '', + initialText, + replacerText, + afterText: finalText, + }) + const { document, position } = documentAndPosition(documentText) + const autoEditResponseFromTemplate = + extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + const codeToReplaceData = createCodeToReplaceDataForTest`${documentText}` + + const result = shrinkReplacerTextToCodeToReplaceRange( + autoEditResponseFromTemplate!, + codeToReplaceData + ) + expect(result).toEqual('line1\nmodified') + }) + + it('handles empty replacer text', () => { + const initialText = 'some text' + const replacerText = '' + const finalText = 'some text█' + + const documentText = createDocumentTextForMockRenderer({ + beforeText: '', + initialText, + replacerText, + afterText: finalText, + }) + const { document, position } = documentAndPosition(documentText) + const autoEditResponseFromTemplate = + extractAutoEditResponseFromCurrentDocumentCommentTemplate(document, position) + const codeToReplaceData = createCodeToReplaceDataForTest`${documentText}` + + const result = shrinkReplacerTextToCodeToReplaceRange( + autoEditResponseFromTemplate!, + codeToReplaceData + ) + expect(result).toBeUndefined() + }) + }) + + describe('getTextBetweenMarkers', () => { + const assertGetTextBetweenMarkers = (param: { + text: string + startMarker: string + endMarker: string + expected: string + }) => { + const result = getTextBetweenMarkers({ + text: param.text, + startMarker: param.startMarker, + endMarker: param.endMarker, + }) + expect(result).toEqual({ + text: param.expected, + startOffset: param.text.indexOf(param.startMarker) + param.startMarker.length, + endOffset: param.text.indexOf(param.endMarker), + }) + } + + it('extracts text between markers correctly', () => { + const text = 'prefix[START]target text[END]suffix' + assertGetTextBetweenMarkers({ + text, + startMarker: '[START]', + endMarker: '[END]', + expected: 'target text', + }) + }) + + it('returns undefined when start marker is not found', () => { + const text = 'prefix[WRONG]target text[END]suffix' + const result = getTextBetweenMarkers({ + text, + startMarker: '[START]', + endMarker: '[END]', + }) + expect(result).toBeUndefined() + }) + + it('returns undefined when end marker is not found', () => { + const text = 'prefix[START]target text[WRONG]suffix' + const result = getTextBetweenMarkers({ + text, + startMarker: '[START]', + endMarker: '[END]', + }) + + expect(result).toBeUndefined() + }) + + it('handles empty text between markers', () => { + const text = 'prefix[START][END]suffix' + assertGetTextBetweenMarkers({ + text, + startMarker: '[START]', + endMarker: '[END]', + expected: '', + }) + }) + }) +}) diff --git a/vscode/src/autoedits/renderer/renderer-testing.ts b/vscode/src/autoedits/renderer/mock-renderer.ts similarity index 82% rename from vscode/src/autoedits/renderer/renderer-testing.ts rename to vscode/src/autoedits/renderer/mock-renderer.ts index ca94803d601b..3a09e7d0db69 100644 --- a/vscode/src/autoedits/renderer/renderer-testing.ts +++ b/vscode/src/autoedits/renderer/mock-renderer.ts @@ -7,27 +7,24 @@ import { autoeditsLogger } from '../logger' import { DefaultDecorator } from './decorators/default-decorator' import { getDecorationInfo } from './diff-utils' -const INITIAL_TEXT_START_MARKER = '\n<<<<\n' -const REPLACER_TEXT_START_MARKER = '\n====\n' -const REPLACER_TEXT_END_MARKER = '\n>>>>\n' +export const INITIAL_TEXT_START_MARKER = '\n<<<<\n' +export const REPLACER_TEXT_START_MARKER = '\n====\n' +export const REPLACER_TEXT_END_MARKER = '\n>>>>\n' interface AutoEditResponseFromTemplate { initial: { text: string; startOffset: number; endOffset: number } replacer: { text: string; startOffset: number; endOffset: number } } -export function extractAutoEditResponseFromCurrentDocumentCommentTemplate(): - | AutoEditResponseFromTemplate - | undefined { - const editor = vscode.window.activeTextEditor - const document = editor?.document - - if (!editor || !document) { +export function extractAutoEditResponseFromCurrentDocumentCommentTemplate( + document: vscode.TextDocument | undefined, + position: vscode.Position | undefined +): AutoEditResponseFromTemplate | undefined { + if (!document || !position) { return undefined } - - const cursorOffset = editor.document.offsetAt(editor.selection.start) - const documentText = editor.document.getText() + const cursorOffset = document.offsetAt(position) + const documentText = document.getText() const text = documentText.substring(0, cursorOffset) const initial = getTextBetweenMarkers({ @@ -79,7 +76,10 @@ export function shrinkReplacerTextToCodeToReplaceRange( suffixLinesNumber > 0 ? -suffixLinesNumber : replacerLines.length ) - return predictionLines.join(newLineChar) + (codeToRewrite.endsWith(newLineChar) ? newLineChar : '') + return ( + predictionLines.join(newLineChar) + + (codeToReplaceData.codeToRewrite.endsWith(newLineChar) ? newLineChar : '') + ) } function offsetToLineNumber(text: string, offset: number): number { @@ -102,7 +102,10 @@ export function registerAutoEditTestRenderCommand(): vscode.Disposable { const text = editor.document.getText() // extract replace start line and end line, replacerText, and replacerCol - const ret = extractAutoEditResponseFromCurrentDocumentCommentTemplate() + const ret = extractAutoEditResponseFromCurrentDocumentCommentTemplate( + document, + editor.selection.active + ) if (!ret) { return } @@ -140,7 +143,7 @@ export function registerAutoEditTestRenderCommand(): vscode.Disposable { }) } -function getTextBetweenMarkers({ +export function getTextBetweenMarkers({ text, startMarker, endMarker, @@ -149,14 +152,15 @@ function getTextBetweenMarkers({ startMarker: string endMarker: string }): { text: string; startOffset: number; endOffset: number } | undefined { - const startOffset = text.indexOf(startMarker) + startMarker.length - const endOffset = text.indexOf(endMarker) + const startIndex = text.indexOf(startMarker) + const startOffset = startIndex + startMarker.length + const endIndex = text.indexOf(endMarker) - if (startOffset !== -1 && endOffset !== -1) { + if (startIndex !== -1 && endIndex !== -1) { return { - text: text.slice(startOffset, endOffset), + text: text.slice(startOffset, endIndex), startOffset, - endOffset, + endOffset: endIndex, } } diff --git a/vscode/src/autoedits/shrink-prediction.test.ts b/vscode/src/autoedits/shrink-prediction.test.ts index 3f2f8f9c216d..8a10d3524fce 100644 --- a/vscode/src/autoedits/shrink-prediction.test.ts +++ b/vscode/src/autoedits/shrink-prediction.test.ts @@ -1,15 +1,11 @@ import dedent from 'dedent' import { describe, expect, it } from 'vitest' - -import { getCurrentDocContext } from '../completions/get-current-doc-context' -import { documentAndPosition } from '../completions/test-helpers' - -import { type CodeToReplaceData, getCurrentFilePromptComponents } from './prompt/prompt-utils' +import { createCodeToReplaceDataForTest } from './prompt/test-helper' import { shrinkPredictionUntilSuffix } from './shrink-prediction' describe('shrinkPredictionUntilSuffix', () => { it('middle of file, no overlap, 4-line prediction', () => { - const codeToReplaceData = createCodeToReplaceData`const a = 1 + const codeToReplaceData = createCodeToReplaceDataForTest`const a = 1 const b = 2 const c = 3 console.log(a, b, c)█ @@ -30,7 +26,7 @@ describe('shrinkPredictionUntilSuffix', () => { }) it('middle of file, partial overlap, 4-line prediction', () => { - const codeToReplaceData = createCodeToReplaceData`const a = 1 + const codeToReplaceData = createCodeToReplaceDataForTest`const a = 1 const b = 2 const c = 3 console.log(a, b, c)█ @@ -54,7 +50,7 @@ describe('shrinkPredictionUntilSuffix', () => { }) it('middle of file, full overlap, 4-line prediction', () => { - const codeToReplaceData = createCodeToReplaceData`const a = 1 + const codeToReplaceData = createCodeToReplaceDataForTest`const a = 1 const b = 2 const c = 3 console.log(a, b, c)█ @@ -83,7 +79,7 @@ describe('shrinkPredictionUntilSuffix', () => { }) it('cursor at end of file, no overlap, 4-line prediction', () => { - const codeToReplaceData = createCodeToReplaceData`line1 + const codeToReplaceData = createCodeToReplaceDataForTest`line1 line2 line3█ ` @@ -101,7 +97,7 @@ describe('shrinkPredictionUntilSuffix', () => { }) it('cursor near start, partial overlap, 4-line prediction', () => { - const codeToReplaceData = createCodeToReplaceData`console.log("start")█ + const codeToReplaceData = createCodeToReplaceDataForTest`console.log("start")█ let val = 123 console.log("end") ` @@ -119,7 +115,7 @@ describe('shrinkPredictionUntilSuffix', () => { }) it('returns the original text in case of full match with the suffix', () => { - const codeToReplaceData = createCodeToReplaceData`function test() { + const codeToReplaceData = createCodeToReplaceDataForTest`function test() { █const a = 1; const b = 2; console.log(a + b); @@ -136,26 +132,6 @@ describe('shrinkPredictionUntilSuffix', () => { }) }) -function createCodeToReplaceData(code: TemplateStringsArray, ...values: unknown[]): CodeToReplaceData { - const { document, position } = documentAndPosition(dedent(code, values)) - const docContext = getCurrentDocContext({ - document, - position, - maxPrefixLength: 100, - maxSuffixLength: 100, - }) - - return getCurrentFilePromptComponents({ - docContext, - position, - document, - maxPrefixLinesInArea: 2, - maxSuffixLinesInArea: 2, - codeToRewritePrefixLines: 1, - codeToRewriteSuffixLines: 1, - }).codeToReplace -} - function withoutLastLines(text: string, n: number): string { return text .split('\n') diff --git a/vscode/src/main.ts b/vscode/src/main.ts index 0e7209b712e9..87b2344b3741 100644 --- a/vscode/src/main.ts +++ b/vscode/src/main.ts @@ -47,7 +47,7 @@ import type { CommandResult } from './CommandResult' import { showAccountMenu } from './auth/account-menu' import { showSignInMenu, showSignOutMenu, tokenCallbackHandler } from './auth/auth' import { AutoeditsProvider } from './autoedits/autoedits-provider' -import { registerAutoEditTestRenderCommand } from './autoedits/renderer/renderer-testing' +import { registerAutoEditTestRenderCommand } from './autoedits/renderer/mock-renderer' import type { MessageProviderOptions } from './chat/MessageProvider' import { ChatsController, CodyChatEditorViewType } from './chat/chat-view/ChatsController' import { ContextRetriever } from './chat/chat-view/ContextRetriever' diff --git a/vscode/test/e2e/__snapshots__/auto-edits.test.ts/autoedits-multi-line-diff-view-1.png b/vscode/test/e2e/__snapshots__/auto-edits.test.ts/autoedits-multi-line-diff-view-1.png new file mode 100644 index 0000000000000000000000000000000000000000..33ae8af5ab98eb1c66ecc287f46f1203cfefb51e GIT binary patch literal 131469 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�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ⓈIk#Ga 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 dotcomUrl: mockServer.SERVER_URL }) + .extend({ + extraWorkspaceSettings: { + 'cody.experimental.autoedits.enabled': true, + 'cody.experimental.autoedits.use-mock-responses': true, + }, + }) + +interface AutoeditsTestOptions { + page: Page + sidebar: Frame | null + fileName: string + lineNumbers: number[] +} + +const autoeditsTestHelper = async ({ + page, + sidebar, + fileName, + lineNumbers, +}: AutoeditsTestOptions): Promise => { + // Use a large number to go the end of the line + const maxColumnNumber = Number.MAX_SAFE_INTEGER + + // Fix the viewport size + await page.setViewportSize({ + width: 1024, + height: 741, + }) + + // Sign into Cody + await sidebarSignin(page, sidebar) + // Open the Explorer view from the sidebar + await sidebarExplorer(page).click() + + // Go to the auto-edits directory in the workspace + await page.getByRole('treeitem', { name: 'auto-edits' }).locator('a').click() + await page.getByRole('treeitem', { name: fileName }).locator('a').click() + + for (const lineNumber of lineNumbers) { + await executeCommandInPalette(page, 'Go to Line/Column') + await page.keyboard.type(`${lineNumber}:${maxColumnNumber}`) + await page.keyboard.press('Enter') + + await executeCommandInPalette(page, 'Cody: Autoedits Manual Trigger') + + // Wait for the diff view to stabilize - required to reduce flakiness + await page.waitForTimeout(1000) + + await expect(page).toHaveScreenshot({ maxDiffPixelRatio: 0.01 }) + } +} + +test('autoedits-multi-line-diff-view', async ({ page, sidebar }) => { + const lineNumbers: number[] = [70] + + await autoeditsTestHelper({ page, sidebar, fileName: 'diff-view-example-1.py', lineNumbers }) +}) diff --git a/vscode/test/fixtures/workspace/auto-edits/diff-view-example-1.py b/vscode/test/fixtures/workspace/auto-edits/diff-view-example-1.py new file mode 100644 index 000000000000..acd40f55c034 --- /dev/null +++ b/vscode/test/fixtures/workspace/auto-edits/diff-view-example-1.py @@ -0,0 +1,79 @@ +""" +<<<< +from datetime import datetime +import re +from sqlalchemy import Column, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import validates +import uuid + +from models.metadata import MetaDataSingleton + +Base = declarative_base(metadata=MetaDataSingleton()) + +class ContactForm(Base): + __tablename__ = "contact_form" + + name = Column(String(50), nullable=False) + email = Column(String(120), nullable=False) + created_at = + + def to_json(self): + return { + "name": self.name, + "email": self.email, + } +==== +from datetime import datetime +import re +from sqlalchemy import Column, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import validates +import uuid + +from models.metadata import MetaDataSingleton + +Base = declarative_base(metadata=MetaDataSingleton()) + +class ContactForm(Base): + __tablename__ = "contact_form" + + name = Column(String(50), nullable=False) + email = Column(String(120), nullable=False) + created_at = Column(DateTime, default=datetime.utcnow) + + def to_json(self): + return { + "name": self.name, + "email": self.email, + "created_at": self.created_at.isoformat(), + } +>>>> +""" + +from datetime import datetime +import re +from sqlalchemy import Column, String, DateTime +from sqlalchemy.ext.declarative import declarative_base +from sqlalchemy.orm import validates +import uuid + +from models.metadata import MetaDataSingleton + +Base = declarative_base(metadata=MetaDataSingleton()) + +class ContactForm(Base): + __tablename__ = "contact_form" + + name = Column(String(50), nullable=False) + email = Column(String(120), nullable=False) + created_at = + + def to_json(self): + return { + "name": self.name, + "email": self.email, + } + + +