Add e2e tests, fix dial attempt stacking, add testing guidelines #677
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.tsfor Playwright and*.node.spec.tsfor 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
RobotClientthat allowed multiple concurrentdial()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.mdfile has been updated with new "Unit Testing" and "Integration Testing" sections that outline the updated strategies and provide clear instructions for contributors.