Skip to content

test(e2e): add Todo lifecycle flow E2E test#2

Open
gahyun-git wants to merge 1 commit intomainfrom
symphony/ACR-6
Open

test(e2e): add Todo lifecycle flow E2E test#2
gahyun-git wants to merge 1 commit intomainfrom
symphony/ACR-6

Conversation

@gahyun-git
Copy link
Member

Summary

  • Adds comprehensive E2E test for the Todo lifecycle flow (ACR-6)
  • Verifies webhook signature verification, issue state transitions, workspace creation, agent spawning, duplicate deduplication, and cleanup
  • Uses a FakeAgentSession to mock agent execution without real subprocess or Linear API calls

Test plan

  • All 10 tests pass with bun test tests/todo-lifecycle.e2e.test.ts (32 assertions)
  • No modifications to existing source files
  • No secrets or credentials in test code

🤖 Generated with Claude Code

Verifies the full Symphony lifecycle:
- Webhook signature verification (accept valid, reject invalid)
- Issue transition to In Progress triggers workspace + agent spawn
- Duplicate issue webhooks are deduplicated
- Issue leaving In Progress removes active workspace
- Non-issue webhook events are skipped
- Prompt template variable rendering

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 852005c4eb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +225 to +226
// WORKFLOW.md already exists in the repo root — orchestrator reads it from cwd
await orchestrator.start()

Choose a reason for hiding this comment

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

P2 Badge Move orchestrator startup into shared setup

Because orchestrator.start() happens inside the first test instead of beforeAll, every later endpoint/webhook test only passes if Bun executes that setup test first. Bun explicitly supports focused runs via bun test --test-name-pattern, and bun test tests/todo-lifecycle.e2e.test.ts -t 'status endpoint shows orchestrator state' already fails with ConnectionRefused because the server was never started. Please move the server bootstrap into shared setup so each test can run independently.

Useful? React with 👍 / 👎.

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.

1 participant