test(e2e): re-enable 5 skipped browser tests, add coverage [follow-up to #283]#286
Merged
EmersonBraun merged 1 commit intomainfrom Apr 15, 2026
Merged
test(e2e): re-enable 5 skipped browser tests, add coverage [follow-up to #283]#286EmersonBraun merged 1 commit intomainfrom
EmersonBraun merged 1 commit intomainfrom
Conversation
Removes the test.skip wrappers in example-react and example-multi-agent specs that were blocked by #281 (core importing fs/promises). With the fix from foundation/core-browser-compat (PR #283) merged in, the React apps mount and the tests pass. Selector update: switched from getByPlaceholder(/type|message/i) to locator('[data-ak-input]'). The example apps use custom placeholders ('Ask about the weather in any city...', 'Give the planner a task to delegate...'), so the regex never matched. The data-ak-input attribute is the headless contract — stable across placeholder changes. Result locally: Before: 4 passed, 5 skipped, 0 failed Now: 10 passed, 0 skipped, 0 failed Coverage by suite: example-ink 1 test example-runtime 1 test example-react 5 tests (mount, typed input, send, tool call, server) example-multi-agent 3 tests (server, mount, send) Builds on: PR #283 (core fix) merged into this branch. Closes the unblock task tracked alongside #251 and #281. Refs #251 #281 #283 #211
0371e13 to
a96388c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Removes the `test.describe.skip` wrappers in the React and multi-agent E2E specs, expands assertion coverage, and proves the browser side end-to-end.
Local result: 10 passed, 0 skipped, 0 failed. Up from 4 passed + 5 skipped on PR #282.
Why this was blocked
PR #282 introduced Playwright coverage for all four example apps. Two of the four (react, multi-agent) had their browser-side tests skipped because `@agentskit/core` imported `node:fs/promises` at module load — the React root never mounted, so there was no UI to assert against.
PR #283 fixed that core issue by relocating Node-only helpers to `@agentskit/memory` and `@agentskit/cli`. This branch is built on top of #283 and removes the skips.
What changed
Selectors
Switched from `getByPlaceholder(/type|message/i)` to `locator('[data-ak-input]')`. The example apps use custom placeholders ('Ask about the weather in any city...', 'Give the planner a task to delegate...') that the regex didn't match. The `data-ak-input` attribute is the headless contract — stable across placeholder changes.
Coverage expanded
Dependencies
This branch already includes the fix from #283 (merged in), so it's self-contained — but if #283 lands first on `main`, this PR's diff shrinks naturally.
Verification
```bash
pnpm --filter "./packages/*" build
pnpm exec playwright test
```
Local run output (10/10 passing, 17.2s):
```
✓ ink — renders the chat container
✓ multi-agent — dev server serves index HTML
✓ multi-agent — chat UI mounts
✓ multi-agent — submitting a prompt produces output
✓ react — dev server serves index HTML
✓ react — chat UI mounts
✓ react — typed input is reflected in the textarea
✓ react — submitting renders the user message
✓ react — first turn triggers a tool call
✓ runtime — executes and produces assistant output
```
Test plan
Refs #251 #281 #283 #211