Arranges JS/TS backend e2e tests with Testcontainers using repeatable service containers (PostgreSQL, MySQL, Redis, RabbitMQ, NATS, MinIO, and LocalStack).
Use this skill when a JS/TS backend test needs real infrastructure instead of mocks.
Scope:
Non-goals:
test/ (for this repo, keep examples in test/*.e2e-spec.ts).beforeAll and inject runtime values into app config/env.Test.createTestingModule(...) and app.init().supertest.app.close() first, then containers and networks).Core defaults:
@testcontainers/postgresql, @testcontainers/redis, etc.) over GenericContainer.postgres:16-alpine) over floating defaults.Advanced defaults:
Network for container-to-container communication.DEBUG=testcontainers*) when startup diagnostics are needed.These references explain the base primitives used by all module examples:
references/feature-containers.mdreferences/feature-images.mdreferences/feature-networking.mdreferences/feature-compose.mdreferences/quickstart-logging.mdUse these references based on the dependency under test:
references/module-localstack.mdreferences/module-minio.mdreferences/module-mysql.mdreferences/module-nats.mdreferences/module-postgresql.mdreferences/module-rabbitmq.mdreferences/module-redis.mdNestJS + Jest + supertest baseline:
references/postgres-nestjs-jest.mdbeforeAll.await app.close() and await container.stop() run in afterAll.app.init().DEBUG=testcontainers*.Fundamentals:
references/feature-containers.mdreferences/feature-images.mdreferences/feature-networking.mdreferences/feature-compose.mdreferences/quickstart-logging.mdService modules:
references/module-localstack.mdreferences/module-minio.mdreferences/module-mysql.mdreferences/module-nats.mdreferences/module-postgresql.mdreferences/module-rabbitmq.mdreferences/module-redis.mdApplication-level pattern:
references/postgres-nestjs-jest.mdreferences/node-testcontainers-quickstart.mdSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer