Files
vercel__chat/packages/integration-tests
Vishal Yathish 097c9b4630 [chat] adding plan/update plan blocks for threads (#115)
* [chat] adding plan/update plan blocks for threads

* refactor plan impl into its own file

* thread.post() instead of thread.postPlan()

* fixes

* lint fixes

* refactor postable objects

* knip

* Refactor PostableObject into dedicated module and add fallback support (#191)

* feat: refactor adapter-slack and types based on Malte's comments

Move PostableObject to dedicated file, update type exports, add fallback posts, and make PostableObject generic.

Slack-Thread: https://vercel.slack.com/archives/C0977L169MW/p1772755978706959?thread_ts=1772755978.706959&cid=C0977L169MW
Co-authored-by: Vishal Yathish <135551666+visyat@users.noreply.github.com>

* fix: fallback path for PostableObject and clean up exports

- Plan mutations (addTask, updateTask, complete) now work in fallback
  mode by using editMessage with fallback text instead of no-oping
- Revert Slack adapter to throw on unsupported kinds (caller handles
  fallback, so adapter-level fallback strings are unnecessary)
- Remove redundant re-exports of isPostableObject/PostableObject from
  plan.ts — export from canonical postable-object.ts only
- Stop exporting POSTABLE_OBJECT symbol (internal implementation detail)
- Fix nested ternary lint error in getFallbackText
- Add tests for fallback post/edit path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: v0 <v0[bot]@users.noreply.github.com>
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Fall back to plain text instead of throwing for unsupported postable object kinds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor(chat): deduplicate PostableObject handling, improve type safety and test coverage

---------

Co-authored-by: v0 <v0[bot]@users.noreply.github.com>
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: dancer <josh@afterima.ge>
2026-04-09 09:54:00 +10:00
..
2026-01-02 15:40:52 -08:00
2025-12-31 16:10:32 -08:00
2026-02-27 09:58:28 -08:00

Integration Tests

Integration tests for the Chat SDK that verify real-world webhook payloads are handled correctly.

Test Categories

  • Unit tests (slack.test.ts, teams.test.ts, gchat.test.ts) - Test adapter functionality with mock payloads
  • Replay tests (replay*.test.ts) - Replay actual production webhook recordings

Replay Tests

Replay tests use recorded webhook payloads from production to verify the SDK handles real interactions correctly.

See fixtures/replay/README.md for:

  • How to record new fixtures
  • Fixture format documentation
  • SHA-based recording workflow
  • Platform-specific webhook formats

Running Tests

# Run all integration tests
pnpm --filter @chat-adapter/integration-tests test

# Run with watch mode
pnpm --filter @chat-adapter/integration-tests test:watch