mwcyu writes the back-end tests upstream never bothered with

This fork is the first to wrap Mike's server-side plumbing in an automated test suite, so changes can't quietly break the wiring.

infrastructure

mwcyu added 77 automated tests that exercise every request handler in the fork's back end - the connective tissue linking the app to its database, login, file storage and AI features. The harder paths get covered too: the live-streaming responses that feed answers back to users, and the secure, time-limited download links for documents.

To make any of this testable, the team restructured how the app boots up so it can run in a test harness without actually opening for traffic - a small, low-risk change with a big payoff. The honest caveats: these tests confirm the plumbing connects correctly, not that the live database or AI model behave; and the suite leans on stand-ins for those services rather than the real thing.

So what If you're weighing which Mike fork to build a product on, this is the one putting in the unglamorous work to prove its foundations hold.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from mwcyu/Mike-fork, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
a101800d test(backend): add Vitest route integration tests for all 8 routers Claude 2026-06-01 ↗ GitHub
commit body
Introduce a supertest-based integration suite covering user, chat,
projectChat, projects, documents, tabular, workflows and downloads
routes (77 tests). Supabase, auth, storage and the LLM/chat tooling are
mocked; streaming SSE endpoints and the signed-download token round-trip
are exercised end to end.

Refactor src/index.ts to export createApp() and only bind a port when run
directly, and skip rate limiters under NODE_ENV=test so the suite is
deterministic. Add vitest + supertest dev deps and test scripts.

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-618.md from inside the repo you want the changes in.

⬇ Download capture-thread-618.md