Repository navigation
test: add Testcontainers integration tests for every service - #7
Merged
Merged
Conversation
Real Postgres + RabbitMQ + Redis in tests, no mocks for any infra. Each service's db.ts reads connection env vars at module-load time, so each test sets them in beforeAll then dynamically imports the module under test. order's buildServer() is extracted into its own server.ts so tests can server.inject() against it without triggering index.ts's real startup chain; kitchen/notification's tests dynamically import the whole index.ts (ephemeral PORT=0) since they intentionally exercise the real consumer wiring. Also fixes two real bugs these tests surfaced: - connect() in mq.ts never listened for RecoveringChannelModel's own "error" event, separate from "disconnect" - an unhandled EventEmitter error crashes the process, so a service could have crashed on certain connection failures even outside of tests - notification's event-order assertion was flaky since concurrent handler completions can race when events arrive with no delay between them, unlike the real ~3s gap between accepted and ready
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
Bugs found and fixed by these tests
Test plan
bun run typecheckgreen across all servicesbun testfrom repo root: 12 pass, 0 fail, confirmed stable across repeated runs, exit code 0