Skip to content

Conversation

@NipunaRanasinghe
Copy link
Contributor

@NipunaRanasinghe NipunaRanasinghe commented Dec 2, 2025

Purpose

This PR restructures the BI E2E test suite to improve organization and align with a new E2E test proposal. The changes primarily focus on better code organization through:

  • Splitting utility functions into focused modules under utils/helpers/
  • Consolidating page object models under utils/pages/
  • Updating import paths across all test files to reflect the new structure
  • Renaming test directories from generic names (e.g., api-services, event-integrations) to more consistent naming (e.g., api-integration, event-integration)

Key Changes

  • Extracted helper functions (webview.ts, verification.ts, artifacts.ts) from setup.ts into separate, focused modules for better maintainability
  • Organized page objects (ConfigEditor, Diagram, ProjectExplorer, SidePanel) under a dedicated utils/pages/ directory with barrel exports
  • Renamed test suite directories to use consistent singular form naming (api-integration, event-integration, file-integration, type-editor, service-designer)

Part of wso2/product-ballerina-integrator#2006

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email [email protected] to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

UI Component Development

Specify the reason if following are not followed.

  • Added reusable UI components to the ui-toolkit. Follow the intructions when adding the componenent.
  • Use ui-toolkit components wherever possible. Run npm run storybook from the root directory to view current components.
  • Matches with the native VSCode look and feel.

Manage Icons

Specify the reason if following are not followed.

  • Added Icons to the font-wso2-vscode. Follow the instructions.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to [email protected] and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

  • Unit tests

    Code coverage information

  • Integration tests

    Details about the test cases and coverage

Security checks

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Summary by CodeRabbit

  • Tests

    • Consolidated e2e test helpers and page objects into centralized helper modules.
    • Updated 20+ e2e tests to use the new helper and page exports.
    • Removed the legacy e2e test template.
  • Chores

    • Added sample project manifest and source files for test scenarios.

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI review requested due to automatic review settings December 2, 2025 18:36
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 2, 2025

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

Walkthrough

Refactors Playwright e2e test utilities for the BI extension: extracts helpers (webview, artifacts, verification), adds barrel exports, updates import paths across ~25 test specs, removes a template spec, and adds a sample Ballerina project and new helper/page index files.

Changes

Cohort / File(s) Summary
Test spec files — import path updates
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/*, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/*, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/*, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/*, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts, workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
Updated imports to use ../utils/helpers and pages to ../utils/pages (module resolution changes only).
New helper: artifacts
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
Adds addArtifact(artifactName, testId) and enableICP() helpers that obtain the BI webview and interact with UI elements.
New helper: webview
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
Adds getWebview(viewName, page) with retry logic (DOM ready wait, iframe switch, retries with sidebar reselect) to obtain webview iframe.
New helper: verification
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts
Adds verifyGeneratedSource(generatedFileName, expectedFilePath) and normalizeSource() to compare generated vs expected files with normalization and Playwright expect assertions.
Helpers barrel export
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
New barrel that re-exports setup, webview, artifacts, and verification utilities (e.g., page, initTest, getWebview, addArtifact, verifyGeneratedSource).
Pages barrel export
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
New barrel re-exporting ConfigEditor, ProjectExplorer, Diagram, SidePanel.
Setup refactor
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
Removes previously embedded helpers (getWebview, addArtifact, enableICP, verifyGeneratedSource); adjusts resource paths and types (e.g., export let vscode: any;).
Test list & imports
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
Updated import paths to new helper and spec locations.
Added test project files
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml, .../main.bal
Adds Ballerina.toml and main.bal with an HTTP service /foo and a get greeting() resource.
Removed template
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/template/template.spec.ts
Template spec file deleted (exported default createTests removed).
Minor (non-functional)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
Trailing newline added (no functional change).
Misc import path change
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphqlUtils.ts
Adjusted import path for TypeEditorUtils../type-editor/TypeEditorUtils.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Review new helper logic (webview retry, artifact interactions, file verification) for robustness and error messages.
  • Confirm setup.ts correctly delegates removed functionality and that barrel exports include all expected symbols.
  • Validate test.spec import updates compile and runtime resolution in CI.
  • Check added Ballerina sample files for intended content and paths.

Possibly related PRs

  • Add WSO2 integrator #901 — Related reorganization of BI/WI constants and view/command identifiers that affect BI extension exports and pages.

Suggested labels

Checks/Enable UI Tests

Suggested reviewers

  • hevayo
  • gigara
  • kanushka

Poem

🐰
I hopped through helpers, cleared the nest,
Split big files apart for tests to rest.
Barrels gathered all the scattered bits,
Webviews retry, artifacts do their wits,
Tests now hop steady — tidy, small, and blessed.

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.13% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Description check ⚠️ Warning The PR description is largely incomplete. While the Purpose section is well-filled with clear restructuring goals, most required template sections remain as empty placeholders. Complete the missing sections: Goals, Approach, Goals, Release note, Documentation, Test environment, and Security checks. Provide concrete details explaining how changes improve maintainability and what testing was performed.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Cleanup and restructure BI E2E test suite' clearly summarizes the main changes: refactoring test organization and structure. It directly reflects the PR's primary objective of improving code organization through modularization and renaming.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (1)

34-34: Remove leftover comment.

The comment "how to get element by id" appears to be a developer note and should be removed for cleaner code.

Apply this diff:

-    // how to get element by id
     const addArtifactBtn = artifactWebView.locator(`#${testId}`);
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)

32-32: Consider restoring type safety.

The change to any type removes type checking for the vscode variable. If possible, use the specific type returned by startVSCode to maintain type safety in test utilities.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5609d4b and 1405dac.

📒 Files selected for processing (35)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/template/template.spec.ts (0 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts (1 hunks)
💤 Files with no reviewable changes (1)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/template/template.spec.ts
🧰 Additional context used
🧠 Learnings (17)
📓 Common learnings
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:136-141
Timestamp: 2025-11-26T07:49:56.428Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBackButton() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:173-178
Timestamp: 2025-11-26T06:35:19.217Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the commented-out debugging block in the verifyFileContent function (lines 172-177 containing console.log, page.pause, and updateDataFileSync) is intentionally kept as a developer utility for updating test data files when needed. It should not be removed.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:128-134
Timestamp: 2025-11-26T06:34:09.752Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBreadcrumb() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/array-inner/inline/map3.bal.txt:6-8
Timestamp: 2025-11-26T06:37:07.886Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/ directories, BAL test data files (such as those in array-inner/inline/, array-root/inline/, basic/inline/, and their reusable counterparts) may intentionally contain type errors and other violations. These are comparison files used to test data mapper functionality and error handling, so such errors should not be flagged as issues.
📚 Learning: 2025-11-26T06:34:09.752Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:128-134
Timestamp: 2025-11-26T06:34:09.752Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBreadcrumb() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-26T07:49:56.428Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:136-141
Timestamp: 2025-11-26T07:49:56.428Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBackButton() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-26T06:35:19.217Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:173-178
Timestamp: 2025-11-26T06:35:19.217Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the commented-out debugging block in the verifyFileContent function (lines 172-177 containing console.log, page.pause, and updateDataFileSync) is intentionally kept as a developer utility for updating test data files when needed. It should not be removed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.test.{ts,tsx} : Create snapshot tests for all node widgets and verify visual consistency across renders

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.{ts,tsx} : Define all constants (node types, sizing, spacing) in src/resources/constants.ts and import them where needed instead of hardcoding values

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-05T10:31:47.583Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 830
File: workspaces/ballerina/ballerina-extension/test/ai/post_proccess/post.test.ts:0-0
Timestamp: 2025-11-05T10:31:47.583Z
Learning: In the workspaces/ballerina/ballerina-extension project, the tsconfig.json uses "rootDirs": ["src", "test"], which allows test files to import from src using shorter relative paths. For example, from test/ai/post_proccess/, the import '../../stateMachine' correctly resolves to src/stateMachine.ts due to this configuration.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-26T06:33:22.950Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:86-112
Timestamp: 2025-11-26T06:33:22.950Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, empty catch blocks around progress ring waitForSelector calls (state: 'attached' and 'detached') are intentional. The progress ring duration depends on machine performance and may appear very briefly, causing the wait to miss the event. The try-catch allows the test to proceed gracefully regardless of timing.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/**/*.config.{js,ts} : Use minimatch-compatible glob patterns for file matching in build and test configuration files

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/stories/**/*.json : Provide sample data files in JSON format for Storybook stories covering: empty project, automation only, simple service, multiple services, complex connections, AI services, GraphQL services, and multiple connections

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
📚 Learning: 2025-11-26T06:37:07.886Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/array-inner/inline/map3.bal.txt:6-8
Timestamp: 2025-11-26T06:37:07.886Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/ directories, BAL test data files (such as those in array-inner/inline/, array-root/inline/, basic/inline/, and their reusable counterparts) may intentionally contain type errors and other violations. These are comparison files used to test data mapper functionality and error handling, so such errors should not be flagged as issues.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
📚 Learning: 2025-11-10T15:05:11.309Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:224-242
Timestamp: 2025-11-10T15:05:11.309Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate VS Code extensions that are packaged and distributed independently, so they cannot share code via imports and must maintain their own implementations of common utilities.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.{ts,tsx} : Use TypeScript 5.8.3 with strict type checking enabled for all source files

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/index.ts : Export the main Diagram component as the default export from the package entry point (index.ts)

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/resources/icons/**/*.tsx : Create separate SVG icon components in src/resources/icons/ for all diagram icons and import them as React components

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/components/**/*.tsx : Use React 18.2.0 features including concurrent rendering and automatic batching; avoid class components in favor of functional components with hooks

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
📚 Learning: 2025-11-10T15:04:50.474Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:153-169
Timestamp: 2025-11-10T15:04:50.474Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate, independently deployable VSCode extensions in the wso2/vscode-extensions repository. Code duplication between these extensions is acceptable and often necessary to maintain their independence, rather than creating cross-extension dependencies.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
🧬 Code graph analysis (5)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (3)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (4)
  • addArtifact (36-36)
  • getWebview (33-33)
  • page (21-21)
  • enableICP (36-36)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1)
  • getWebview (24-63)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)
  • page (33-33)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts (2)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (2)
  • verifyGeneratedSource (39-39)
  • newProjectPath (24-24)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)
  • newProjectPath (31-31)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (3)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (2)
  • getWebview (33-33)
  • page (21-21)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)
  • page (33-33)
workspaces/mcp-inspector/mcp-inspector-extension/src/utils/logger.ts (1)
  • error (24-26)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (2)
workspaces/mi/mi-extension/src/test/e2e-playwright-tests/Utils.ts (1)
  • dataFolder (30-30)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (3)
  • resourcesFolder (23-23)
  • newProjectPath (24-24)
  • vscode (22-22)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (1)
workspaces/mi/mi-extension/src/test/e2e-playwright-tests/Utils.ts (1)
  • videosFolder (36-36)
🔇 Additional comments (36)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts (1)

43-43: LGTM!

The trailing newline is a formatting change with no functional impact. The file is now properly integrated into the new barrel export structure.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts (1)

19-22: Well-structured barrel export!

The centralized page object exports improve maintainability and simplify import statements across test files. This aligns well with the PR's goal of creating a cleaner test suite structure.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts (1)

19-19: Import path correctly updated.

The migration to ../utils/helpers aligns with the new module structure without affecting test behavior.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts (1)

20-22: Import paths correctly refactored.

Both imports have been updated to use the new module structure and barrel exports, maintaining test functionality while improving organization.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts (1)

20-22: Consistent import refactoring applied.

The import path updates follow the same pattern as other test files in this PR, ensuring consistency across the test suite.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts (1)

19-21: Import migration completed successfully.

The refactored imports align with the new test utility structure without altering test behavior.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts (1)

19-19: Import path successfully updated.

The migration to the new helpers module is correctly applied.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts (1)

20-22: Import refactoring completed consistently.

The updated import paths complete the systematic restructuring of the E2E test suite, aligning with the new module organization.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts (1)

22-22: Import path refactor to helpers barrel looks correct

Switching getWebview, initMigrationTest, and page to come from ../utils/helpers matches the new helpers barrel pattern and keeps the test body unchanged.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts (1)

20-22: Updated helpers/pages imports are consistent with the new test utilities layout

Using ../utils/helpers for addArtifact, initTest, page and ../utils/pages for ProjectExplorer aligns this spec with the refactored utilities without altering behavior.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts (1)

21-23: Helpers and page-object imports now use centralized barrels

Refactoring imports to ../utils/helpers and ../utils/pages keeps the Type Diagram tests in sync with the shared utilities structure; usages of addArtifact, initTest, page, and ProjectExplorer remain valid.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts (1)

19-21: TCP service spec correctly migrated to new helpers/pages modules

The move to import addArtifact, initTest, page from ../utils/helpers and ProjectExplorer from ../utils/pages matches the shared structure used across the suite; no behavioral impact.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts (1)

20-22: GitHub integration tests now aligned with shared helpers/pages barrels

Using ../utils/helpers and ../utils/pages for shared utilities and ProjectExplorer keeps this spec consistent with the rest of the E2E suite, with no change to the test logic.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts (1)

19-21: HTTP service spec import cleanup matches the new utilities structure

The updated imports from ../utils/helpers and ../utils/pages are consistent with the new barrels and preserve existing behavior.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts (1)

20-22: Directory integration tests correctly switched to helpers/pages barrels

Refactoring imports to ../utils/helpers and ../utils/pages brings this spec in line with the shared E2E utilities, without altering the test flow.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts (1)

20-22: MQTT integration spec imports updated to shared helpers/pages

Using the centralized ../utils/helpers and ../utils/pages modules for test helpers and ProjectExplorer is consistent with the refactored E2E test suite and keeps behavior intact.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts (1)

20-22: LGTM! Consistent with the refactoring pattern.

Import paths successfully updated to use the new barrel exports.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts (1)

21-23: LGTM! Import paths correctly updated.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts (1)

20-22: LGTM! Import refactoring applied correctly.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts (1)

20-22: LGTM! Imports updated consistently.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts (1)

20-20: LGTM! Import updated with new helper utilities.

This test now uses the new getWebview and verifyGeneratedSource helpers, which simplify webview access and code verification. Good adoption of the refactored utilities.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (2)

20-20: LGTM! Central test list updated correctly.

Import path for shared page utility correctly updated to use the new helpers barrel.


27-50: LGTM! All test spec imports updated consistently.

All test module imports reflect the new directory structure. The refactoring maintains clean separation between test categories (api-integration, event-integration, file-integration, etc.).

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts (1)

20-22: LGTM! Import refactoring completed consistently.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts (1)

20-22: LGTM! Clean import path refactoring.

The updated import paths align with the new modular structure where test utilities are centralized under utils/helpers and page objects under utils/pages.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts (1)

20-22: LGTM! Clean module reorganization.

The import path updates correctly reflect the new utility structure without altering test logic.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts (1)

19-21: LGTM! Consistent with module reorganization.

Import paths correctly updated to match the new helpers/pages structure.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts (1)

20-22: LGTM! Module paths updated correctly.

The reorganization maintains consistency across the test suite.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (1)

43-54: LGTM! Good defensive logic.

The function correctly checks the current state before toggling, preventing unnecessary interactions.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1)

24-63: LGTM! Robust retry logic for webview access.

The implementation correctly handles frame detachment and includes appropriate retry mechanisms with sidebar reselection. The 3-retry limit and wait times are reasonable for E2E test stability.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (1)

20-39: LGTM! Clean barrel export pattern.

The centralized export structure improves import ergonomics and maintainability across the test suite.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts (2)

26-35: LGTM! Comprehensive normalization for test comparisons.

The multi-step normalization correctly handles line endings, whitespace, and formatting differences that could cause false failures in content comparison tests.


42-63: LGTM! Well-structured verification with clear error messages.

The function provides comprehensive file validation and normalized comparison, with descriptive error messages for debugging test failures.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)

27-30: LGTM! Path adjustments correct for new directory structure.

The relative paths are correctly updated to reflect the move from utils/ to utils/helpers/, adding appropriate .. segments.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml (1)

1-7: LGTM! Test project configuration is properly structured.

The Ballerina package manifest is correctly formatted with all required fields. The sticky = true build option and the test organization name "nino" are appropriate for E2E test fixture data.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal (1)

6-12: Missing return statement causes compilation error in success path.

The resource function declares return type error|json|http:InternalServerError but has no return statement when the empty do block completes successfully. The on fail clause is unreachable since no operations in the do block can fail. This will cause a Ballerina compilation error.

If this fixture is meant to represent valid sample code for testing project creation or build flows, add a return statement in the do block:

    resource function get greeting() returns error|json|http:InternalServerError {
        do {
+            return { message: "Hello, World!" };
        } on fail error err {
            // handle error
            return error("unhandled error", err);
        }
    }

If this file intentionally contains broken code for error-scenario testing, clarify this intent and document it accordingly.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR restructures the BI E2E test suite to improve organization and align with a new E2E test proposal. The changes primarily focus on better code organization through:

  • Splitting utility functions into focused modules under utils/helpers/
  • Consolidating page object models under utils/pages/
  • Updating import paths across all test files to reflect the new structure
  • Renaming test directories from generic names (e.g., api-services, event-integrations) to more consistent naming (e.g., api-integration, event-integration)

Key Changes

  • Extracted helper functions (webview.ts, verification.ts, artifacts.ts) from setup.ts into separate, focused modules for better maintainability
  • Organized page objects (ConfigEditor, Diagram, ProjectExplorer, SidePanel) under a dedicated utils/pages/ directory with barrel exports
  • Renamed test suite directories to use consistent singular form naming (api-integration, event-integration, file-integration, type-editor, service-designer)

Reviewed changes

Copilot reviewed 34 out of 48 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
utils/helpers/index.ts Barrel export file for centralized helper imports
utils/helpers/webview.ts Extracted webview retry logic from setup.ts
utils/helpers/verification.ts Extracted source code verification utilities
utils/helpers/artifacts.ts Extracted artifact management functions
utils/helpers/setup.ts Removed extracted functions, updated path references
utils/pages/index.ts Barrel export for page objects
utils/pages/ConfigEditor.ts New page object for configuration editor interactions
utils/pages/Diagram.ts New page object for diagram view interactions
utils/pages/ProjectExplorer.ts New page object for project explorer interactions
utils/pages/SidePanel.ts Modified page object with minor formatting fix
type-editor/TypeEditorUtils.ts Moved from type/ directory (renamed directory)
type-editor/type.spec.ts Updated import paths to reflect new structure
service-designer/serviceEditorUtils.ts Moved from service-class-designer/ (renamed directory)
service-designer/service-class.spec.ts Updated import paths to reflect new structure
api-integration/*.spec.ts Renamed from api-services/, updated import paths
api-integration/graphqlUtils.ts New utility file with updated imports
event-integration/*.spec.ts Renamed from event-integrations/, updated import paths
file-integration/*.spec.ts Renamed from file-integrations/, updated import paths
test.list.ts Updated all import paths to reflect directory renames
template/template.spec.ts Removed unused template file
Comments suppressed due to low confidence (1)

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts:23

  • Incorrect import path: should be '../type-editor/TypeEditorUtils' instead of '../type/TypeEditorUtils'. The TypeEditorUtils file is located in the type-editor directory, not the type directory.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (1)

33-33: Remove the developer note comment.

The comment // how to get element by id appears to be a leftover developer note and should be removed.

Apply this diff:

-    // how to get element by id
     const addArtifactBtn = artifactWebView.locator(`#${testId}`);
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1405dac and f9bbf1a.

📒 Files selected for processing (36)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphqlUtils.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/template/template.spec.ts (0 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts (1 hunks)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts (1 hunks)
💤 Files with no reviewable changes (1)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/template/template.spec.ts
✅ Files skipped from review due to trivial changes (2)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/SidePanel.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphqlUtils.ts
🚧 Files skipped from review as they are similar to previous changes (18)
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/automation/automation.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/ai-chat-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/np.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/import-integration/import-integration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/http-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/directory.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/connection.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/expression-editor/expression-editor.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/verification.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/kafka.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/Ballerina.toml
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/tcp-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/file-integration/ftp.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/rabbitmq.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/function.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/configuration/configuration.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/mqtt.spec.ts
🧰 Additional context used
🧠 Learnings (17)
📓 Common learnings
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:224-242
Timestamp: 2025-11-10T15:05:11.309Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate VS Code extensions that are packaged and distributed independently, so they cannot share code via imports and must maintain their own implementations of common utilities.
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.test.{ts,tsx} : Create snapshot tests for all node widgets and verify visual consistency across renders
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/array-inner/inline/map3.bal.txt:6-8
Timestamp: 2025-11-26T06:37:07.886Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/ directories, BAL test data files (such as those in array-inner/inline/, array-root/inline/, basic/inline/, and their reusable counterparts) may intentionally contain type errors and other violations. These are comparison files used to test data mapper functionality and error handling, so such errors should not be flagged as issues.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:173-178
Timestamp: 2025-11-26T06:35:19.217Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the commented-out debugging block in the verifyFileContent function (lines 172-177 containing console.log, page.pause, and updateDataFileSync) is intentionally kept as a developer utility for updating test data files when needed. It should not be removed.
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/stories/**/*.json : Provide sample data files in JSON format for Storybook stories covering: empty project, automation only, simple service, multiple services, complex connections, AI services, GraphQL services, and multiple connections
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:153-169
Timestamp: 2025-11-10T15:04:50.474Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate, independently deployable VSCode extensions in the wso2/vscode-extensions repository. Code duplication between these extensions is acceptable and often necessary to maintain their independence, rather than creating cross-extension dependencies.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:136-141
Timestamp: 2025-11-26T07:49:56.428Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBackButton() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:128-134
Timestamp: 2025-11-26T06:34:09.752Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBreadcrumb() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.
📚 Learning: 2025-11-26T06:35:19.217Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:173-178
Timestamp: 2025-11-26T06:35:19.217Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the commented-out debugging block in the verifyFileContent function (lines 172-177 containing console.log, page.pause, and updateDataFileSync) is intentionally kept as a developer utility for updating test data files when needed. It should not be removed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-26T06:34:09.752Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:128-134
Timestamp: 2025-11-26T06:34:09.752Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBreadcrumb() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-26T07:49:56.428Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:136-141
Timestamp: 2025-11-26T07:49:56.428Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, the goPrevViewBackButton() method is only called when in a focused view, ensuring breadcrumbs are always present. No guard for empty breadcrumbs is needed.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-26T06:37:07.886Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/array-inner/inline/map3.bal.txt:6-8
Timestamp: 2025-11-26T06:37:07.886Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/dm-data/ directories, BAL test data files (such as those in array-inner/inline/, array-root/inline/, basic/inline/, and their reusable counterparts) may intentionally contain type errors and other violations. These are comparison files used to test data mapper functionality and error handling, so such errors should not be flagged as issues.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
📚 Learning: 2025-11-26T06:33:22.950Z
Learnt from: KCSAbeywickrama
Repo: wso2/vscode-extensions PR: 653
File: workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts:86-112
Timestamp: 2025-11-26T06:33:22.950Z
Learning: In workspaces/bi/bi-extension/src/test/e2e-playwright-tests/data-mapper/DataMapperUtils.ts, empty catch blocks around progress ring waitForSelector calls (state: 'attached' and 'detached') are intentional. The progress ring duration depends on machine performance and may appear very briefly, causing the wait to miss the event. The try-catch allows the test to proceed gracefully regardless of timing.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.test.{ts,tsx} : Create snapshot tests for all node widgets and verify visual consistency across renders

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.{ts,tsx} : Define all constants (node types, sizing, spacing) in src/resources/constants.ts and import them where needed instead of hardcoding values

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/**/*.config.{js,ts} : Use minimatch-compatible glob patterns for file matching in build and test configuration files

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-05T10:31:47.583Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 830
File: workspaces/ballerina/ballerina-extension/test/ai/post_proccess/post.test.ts:0-0
Timestamp: 2025-11-05T10:31:47.583Z
Learning: In the workspaces/ballerina/ballerina-extension project, the tsconfig.json uses "rootDirs": ["src", "test"], which allows test files to import from src using shorter relative paths. For example, from test/ai/post_proccess/, the import '../../stateMachine' correctly resolves to src/stateMachine.ts due to this configuration.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/**/*.{ts,tsx} : Use TypeScript 5.8.3 with strict type checking enabled for all source files

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/stories/**/*.json : Provide sample data files in JSON format for Storybook stories covering: empty project, automation only, simple service, multiple services, complex connections, AI services, GraphQL services, and multiple connections

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
📚 Learning: 2025-11-10T15:05:11.309Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:224-242
Timestamp: 2025-11-10T15:05:11.309Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate VS Code extensions that are packaged and distributed independently, so they cannot share code via imports and must maintain their own implementations of common utilities.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/components/**/*.tsx : Use React 18.2.0 features including concurrent rendering and automatic batching; avoid class components in favor of functional components with hooks

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/index.ts : Export the main Diagram component as the default export from the package entry point (index.ts)

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-25T06:34:10.812Z
Learnt from: CR
Repo: wso2/vscode-extensions PR: 0
File: workspaces/ballerina/component-diagram/AGENTS.md:0-0
Timestamp: 2025-11-25T06:34:10.812Z
Learning: Applies to workspaces/ballerina/component-diagram/src/resources/icons/**/*.tsx : Create separate SVG icon components in src/resources/icons/ for all diagram icons and import them as React components

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts
📚 Learning: 2025-11-10T15:04:50.474Z
Learnt from: madushajg
Repo: wso2/vscode-extensions PR: 868
File: workspaces/bi/bi-extension/src/utils.ts:153-169
Timestamp: 2025-11-10T15:04:50.474Z
Learning: The workspaces/bi/bi-extension and workspaces/ballerina/ballerina-extension are separate, independently deployable VSCode extensions in the wso2/vscode-extensions repository. Code duplication between these extensions is acceptable and often necessary to maintain their independence, rather than creating cross-extension dependencies.

Applied to files:

  • workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts
🧬 Code graph analysis (4)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (2)
workspaces/mi/mi-extension/src/test/e2e-playwright-tests/Utils.ts (1)
  • dataFolder (30-30)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (3)
  • resourcesFolder (23-23)
  • newProjectPath (24-24)
  • vscode (22-22)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (1)
workspaces/mi/mi-extension/src/test/e2e-playwright-tests/Utils.ts (1)
  • videosFolder (36-36)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/artifacts.ts (3)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (4)
  • addArtifact (36-36)
  • getWebview (33-33)
  • page (21-21)
  • enableICP (36-36)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1)
  • getWebview (24-63)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)
  • page (33-33)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (2)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (2)
  • getWebview (33-33)
  • page (21-21)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (1)
  • page (33-33)
🔇 Additional comments (15)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/data/new-project/testProject/sample/main.bal (1)

1-3: LGTM!

The import and listener setup follow standard Ballerina conventions.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/test.list.ts (1)

20-50: LGTM! Clean organizational refactor.

The import path updates consistently align with the PR's restructuring goals:

  • Helper utilities centralized under utils/helpers
  • Test directories renamed to singular form (api-integration, event-integration, file-integration)
  • More descriptive naming (type → type-editor, service-class-designer → service-designer)
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/other-artifacts/data-mapper.spec.ts (1)

20-22: LGTM! Imports updated to match new structure.

Utilities now imported from centralized helpers and pages modules, consistent with the broader refactor.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/service-designer/service-class.spec.ts (1)

19-19: LGTM! Helper import path updated.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/salesforce.spec.ts (1)

20-22: LGTM! Import paths aligned with new structure.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/github.spec.ts (1)

20-22: LGTM! Consistent import refactoring.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/azure.spec.ts (1)

20-22: LGTM! Import paths updated correctly.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/type-editor/type.spec.ts (1)

20-20: LGTM! Helper utilities import updated.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/api-integration/graphql-service.spec.ts (1)

19-23: LGTM! All import paths updated consistently.

The imports reflect the restructured organization:

  • Helpers from centralized utils/helpers
  • Pages from utils/pages
  • Type utilities from renamed type-editor directory
workspaces/bi/bi-extension/src/test/e2e-playwright-tests/event-integration/twillio.spec.ts (1)

20-22: LGTM: Import paths updated correctly.

The import paths now align with the new test utilities structure, using centralized barrel exports from ../utils/helpers and ../utils/pages.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/pages/index.ts (1)

19-22: LGTM: Clean barrel export pattern.

The centralized page object exports provide a single import source for UI components, improving maintainability.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/webview.ts (1)

24-63: LGTM: Robust retry logic for webview access.

The implementation handles frame detachment gracefully with retry logic, logging, and sidebar item reselection between attempts.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/index.ts (1)

20-39: LGTM: Comprehensive barrel export for test utilities.

The centralized helper exports provide a clean API surface with clear organization by source module.

workspaces/bi/bi-extension/src/test/e2e-playwright-tests/utils/helpers/setup.ts (2)

32-32: Type annotation added for vscode.

The explicit any type annotation improves clarity, though consider using a more specific type if available from @wso2/playwright-vscode-tester.


27-30: Verify the extensionsFolder path calculation.

The path joins 5 directory levels up from the helpers directory (../../../../../). Please confirm whether this resolves to the intended location and that the vsix directory exists at that resolved path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Checks/Run BI UI Tests Force run BI UI tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants