Skip to content

feat(amazonq): Implement Pin Context Test Suite #7699

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
98688bf
initial VET commit with baseline setup + dependencies
laura-codess Jul 2, 2025
5959a38
deleting unnecessary dependencies and refactoring some of VET.test.ts
laura-codess Jul 2, 2025
4540f16
added back the buffer dependency because it failed the tests without it
laura-codess Jul 3, 2025
f1afe95
it was not any of the dependencies that was causing it to break, it w…
laura-codess Jul 3, 2025
4fa90ec
added back some more node: protocol imports to see if it passes all t…
laura-codess Jul 3, 2025
e1c33d8
forgot to save a webpack change. hoping it will fix the one failing t…
laura-codess Jul 3, 2025
ea46464
added back basically all the dependencies because 1 test keeps failing
laura-codess Jul 3, 2025
66f198d
Adding a simple test to send a chat prompt and check if theres a resp…
laura-codess Jul 11, 2025
dd62e27
Adding the wait to improve the robustness
laura-codess Jul 11, 2025
866478a
added logic to the after function to close all the chat tabs after th…
laura-codess Jul 11, 2025
35c656f
fixed the merge conflicts
laura-codess Jul 14, 2025
ed3c220
tested the timeouts, implemented a general wait function
laura-codess Jul 14, 2025
824635e
Merge branch 'feature/ui-e2e-tests' of https://github.com/aws/aws-too…
laura-codess Jul 15, 2025
b30f7f4
checked out master version
laura-codess Jul 15, 2025
5da6336
fix: ignore scripts change
laura-codess Jul 15, 2025
c8ccbae
implementing the initial setup for the framework
laura-codess Jul 16, 2025
74011d2
added setup.ts and testContext so that auth can be shared across tests
laura-codess Jul 17, 2025
b66da8c
implemented the backslash abstraction, required implementing function…
laura-codess Jul 17, 2025
3723e0d
Removed VET.test.ts
laura-codess Jul 17, 2025
8c3a109
implementing a pin context test suite with all the abstractions in pi…
laura-codess Jul 17, 2025
a4d6b32
Removed VET.test.ts
laura-codess Jul 17, 2025
d2bc9dd
small . fix
laura-codess Jul 17, 2025
693404d
fixed the PR based on the comments
laura-codess Jul 17, 2025
2990971
removing comments
laura-codess Jul 18, 2025
bebb6f1
Merge branch 'initializing_framework' into implement_pin_context_test
laura-codess Jul 18, 2025
5fc2de5
fixing the comments and adding the signout functionality
laura-codess Jul 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions P261194666.md
Original file line number Diff line number Diff line change
Expand Up @@ -537,6 +537,7 @@ Based on our investigation of the language-server-runtimes repository and the pr
```

5. **Ensure Auto-login Happens Early** (`packages/amazonq/src/lsp/activation.ts`):

```typescript
export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
try {
Expand Down
166 changes: 0 additions & 166 deletions packages/amazonq/test/e2e/amazonq/VET.test.ts

This file was deleted.

172 changes: 172 additions & 0 deletions packages/amazonq/test/e2e/amazonq/test-ids.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
/*!
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/

export default {
selector: 'data-testid',
prompt: {
wrapper: 'prompt-input-wrapper',
attachmentWrapper: 'prompt-input-attachment-wrapper',
attachment: 'prompt-input-attachment',
options: 'prompt-input-options',
attachmentRemove: 'prompt-input-attachment-remove-button',
send: 'prompt-input-send-button',
input: 'prompt-input-textarea',
inputWrapper: 'prompt-input-input-wrapper',
remainingCharsIndicator: 'prompt-input-remaining-chars-indicator',
contextTooltip: 'prompt-input-context-tooltip',
selectedCommand: 'prompt-input-selected-command',
quickPicksWrapper: 'prompt-input-quick-picks-wrapper',
quickPicksGroup: 'prompt-input-quick-picks-group',
quickPicksGroupTitle: 'prompt-input-quick-picks-group-title',
quickPickItem: 'prompt-input-quick-pick-item',
footerInfo: 'prompt-input-footer-info',
footerInfoBody: 'prompt-input-footer-info-body',
stickyCard: 'prompt-input-sticky-card',
progress: 'prompt-input-progress-wrapper',
label: 'prompt-input-label',
topBar: 'prompt-input-top-bar',
topBarButton: 'prompt-input-top-bar-button',
topBarContextPill: 'prompt-input-top-bar-context-pill',
topBarContextTooltip: 'prompt-input-top-bar-context-tooltip',
tobBarOverflowPill: 'prompt-input-top-bar-overflow-pill',
tobBarOverflowOverlay: 'prompt-input-top-bar-overflow-overlay',
tobBarActionOverlay: 'prompt-input-top-bar-action-overlay',
},
chat: {
wrapper: 'chat-wrapper',
chatItemsContainer: 'chat-chat-items-container',
conversationContainer: 'chat-chat-items-conversation-container',
middleBlockWrapper: 'chat-middle-block-wrapper',
stopButton: 'chat-middle-block-stop-button',
header: 'chat-wrapper-header-details',
moreContentIndicator: 'chat-wrapper-more-content-available-indicator',
moreContentIndicatorButton: 'chat-wrapper-more-content-available-indicator-button',
},
chatItem: {
type: {
any: 'chat-item',
answer: 'chat-item-answer',
answerStream: 'chat-item-answer-stream',
prompt: 'chat-item-prompt',
aiPrompt: 'chat-item-ai-prompt',
systemPrompt: 'chat-item-system-prompt',
},
moreContentIndicator: 'chat-item-card-more-content-indicator',
card: 'chat-item-card',
cardBody: 'chat-item-card-body',
buttons: {
wrapper: 'chat-item-buttons-wrapper',
button: 'chat-item-action-button',
},
dismissButton: 'chat-item-dismiss-button',
chatItemFollowup: {
optionsWrapper: 'chat-item-followup-options-wrapper',
optionButton: 'chat-item-followup-option',
title: 'chat-item-followup-title',
wrapper: 'chat-item-followup-wrapper',
},
syntaxHighlighter: {
wrapper: 'chat-item-syntax-highlighter-wrapper',
codeBlock: 'chat-item-syntax-highlighter-code-block',
lineNumbers: 'chat-item-syntax-highlighter-line-numbers',
language: 'chat-item-syntax-highlighter-language',
buttonsWrapper: 'chat-item-syntax-highlighter-buttons-wrapper',
button: 'chat-item-syntax-highlighter-button',
},
chatItemForm: {
wrapper: 'chat-item-form-wrapper',
title: 'chat-item-form-title',
description: 'chat-item-form-description',
itemSelectWrapper: 'chat-item-form-item-select-wrapper',
itemSelect: 'chat-item-form-item-select',
itemRadioWrapper: 'chat-item-form-item-radio-wrapper',
itemRadio: 'chat-item-form-item-radio',
itemInput: 'chat-item-form-item-text-input',
itemList: 'chat-item-form-item-list',
itemStarsWrapper: 'chat-item-form-item-stars-wrapper',
itemStars: 'chat-item-form-item-stars',
itemTextArea: 'chat-item-form-item-textarea',
itemToggleWrapper: 'chat-item-form-item-toggle-wrapper',
itemToggleOption: 'chat-item-form-item-toggle-option',
itemSwitch: 'chat-item-form-item-switch',
},
vote: {
wrapper: 'chat-item-vote-wrapper',
upvote: 'chat-item-upvote',
upvoteLabel: 'chat-item-upvote-label',
downvote: 'chat-item-downvote',
downvoteLabel: 'chat-item-downvote-label',
reportButton: 'chat-item-vote-report',
thanks: 'chat-item-vote-thanks',
},
relatedLinks: {
showMore: 'chat-item-related-links-show-more',
wrapper: 'chat-item-related-links-wrapper',
title: 'chat-item-related-links-title',
linkWrapper: 'chat-item-related-link-wrapper',
link: 'chat-item-related-link',
linkPreviewOverlay: 'chat-item-related-link-preview-overlay',
linkPreviewOverlayCard: 'chat-item-related-link-preview-overlay-card',
},
fileTree: {
wrapper: 'chat-item-file-tree-wrapper',
title: 'chat-item-file-tree-title',
license: 'chat-item-file-tree-license',
folder: 'chat-item-file-tree-folder',
file: 'chat-item-file-tree-file',
fileAction: 'chat-item-file-tree-file-action',
fileTooltipWrapper: 'chat-item-file-tree-file-tooltip-wrapper',
},
tabbedCard: {
tabs: 'chat-item-tabbed-card-tabs',
},
},
feedbackForm: {
optionsSelectWrapper: 'feedback-form-options-select-wrapper',
optionsSelect: 'feedback-form-options-select',
comment: 'feedback-form-comment-text-area',
cancelButton: 'feedback-form-cancel-button',
submitButton: 'feedback-form-submit-button',
},
sheet: {
wrapper: 'sheet-wrapper',
header: 'sheet-header',
title: 'sheet-title',
description: 'sheet-description',
closeButton: 'sheet-close-button',
},
detailedList: {
action: 'detailed-list-action',
actionMenu: 'detailed-list-action-menu',
status: 'detailed-list-status',
},
tabBar: {
wrapper: 'tab-bar-wrapper',
buttonsWrapper: 'tab-bar-buttons-wrapper',
button: 'tab-bar-button',
menuButton: 'tab-bar-menu-button',
menuOption: 'tab-bar-menu-option',
tabsWrapper: 'tab-bar-tabs',
tabOptionWrapper: 'tab-bar-tabs-option-wrapper',
tabOption: 'tab-bar-tabs-option',
tabOptionLabel: 'tab-bar-tabs-option-label',
tabOptionCloseButton: 'tab-bar-tabs-option-close-button',
tabAddButton: 'tab-bar-tab-add-button',
maxTabsReachedOverlay: 'tab-bar-max-tabs-reached-overlay',
tabCloseConfirmationOverlay: 'tab-bar-tab-close-confirmation-overlay',
tabCloseConfirmationBody: 'tab-bar-tab-close-confirmation-body',
tabCloseConfirmationCancelButton: 'tab-bar-tab-close-confirmation-cancel-button',
tabCloseConfirmationAcceptButton: 'tab-bar-tab-close-confirmation-accept-button',
},
noTabs: {
wrapper: 'no-tabs-wrapper',
newTabButton: 'no-tabs-new-tab-button',
},
notification: {
wrapper: 'notification-wrapper',
title: 'notification-title',
content: 'notification-content',
},
}
Loading
Loading