Skip to content

refactor(list): migrate tests to browser mode#14823

Draft
jcfranco wants to merge 3 commits into
devfrom
jcfranco/11268-migrate-list-tests-to-browser-mode
Draft

refactor(list): migrate tests to browser mode#14823
jcfranco wants to merge 3 commits into
devfrom
jcfranco/11268-migrate-list-tests-to-browser-mode

Conversation

@jcfranco

@jcfranco jcfranco commented Jul 16, 2026

Copy link
Copy Markdown
Member

Related Issue: #11268

Summary

✨🧪✨

@jcfranco
jcfranco requested a review from Copilot July 16, 2026 00:45
@github-actions github-actions Bot added the refactor Issues tied to code that needs to be significantly reworked. label Jul 16, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Migrates the calcite-list end-to-end tests from the legacy Puppeteer E2E harness to the newer Vitest browser-mode E2E setup, consolidating list behavior coverage into the *.browser.e2e.tsx suite.

Changes:

  • Removed the legacy list.e2e.ts Puppeteer-based tests.
  • Added equivalent (and in places consolidated) browser-mode E2E coverage for list-item coordination, filtering, selection/active behavior, keyboard navigation, and drag/sort interactions.
  • Introduced browser mouse command helpers to support pointer-driven drag tests.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
packages/components/src/components/list/list.e2e.ts Removes the legacy Puppeteer E2E test suite for calcite-list.
packages/components/src/components/list/list.browser.e2e.tsx Adds browser-mode E2E coverage replacing the removed legacy tests, including pointer drag support and updated interaction assertions.

await settleFilter();
expect(parent.bordered).toBe(true);
expect(child.bordered).toBe(false);
parent.open = true;
const one = page.getBySelector("#one").element() as ListItem["el"];
await expect.element(page.getBySelector("#one")).toHaveFocus();
await userEvent.keyboard("{ArrowRight}");
expect(one.open).toBe(true);
expect(document.activeElement?.tagName).toBe("CALCITE-ACTION");
await userEvent.keyboard("{ArrowLeft}{ArrowLeft}{ArrowLeft}{ArrowLeft}");
expect(document.activeElement).toBe(one);
expect(one.open).toBe(false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactor Issues tied to code that needs to be significantly reworked.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants