Skip to content

Conversation

@DTCurrie
Copy link
Member

@DTCurrie DTCurrie commented Nov 8, 2025

This PR introduces an integration testing framework to establish test suites for both Node.js and browser environments. It also addresses a critical bug related to concurrent connection attempts in the RobotClient.

We create dedicated test suites for each environment: *.browser.spec.ts for Playwright and *.node.spec.ts for Vitest.

The test harness has been updated to provide a testing environment for the browser. Playwright tests now interact with this harness using a Page Object Model (RobotPage), resulting in cleaner, more maintainable, and more reliable tests.

A bug in RobotClient that allowed multiple concurrent dial() attempts to create multiple reconnection loops was discovered through testing and has been fixed. The client now aborts any in-progress dial operation before starting a new one, ensuring predictable connection behavior.

The CONTRIBUTING.md file has been updated with new "Unit Testing" and "Integration Testing" sections that outline the updated strategies and provide clear instructions for contributors.

@DTCurrie DTCurrie self-assigned this Nov 8, 2025
@DTCurrie DTCurrie marked this pull request as ready for review November 13, 2025 14:49
@DTCurrie DTCurrie requested a review from a team as a code owner November 13, 2025 14:49
@DTCurrie DTCurrie requested review from lia-viam and njooma and removed request for a team November 13, 2025 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants