All skills
bmad-labs avatar

/typescript-e2e-testing

@3bcc7a6
by bmad-labsbmad-labs/skills15 stars
4

E2E and integration testing for TypeScript/NestJS projects using Jest, supertest, and real infrastructure via Docker (Kafka, PostgreSQL, MongoDB, Redis) with the Given-When-Then pattern. Use whenever the user is working on `.e2e-spec.ts` files or anything under `test/e2e/`, or asks to set up, write, review, run, debug, or optimize E2E or integration tests — including flaky tests, docker-compose for tests, Kafka/Redpanda consumers, test isolation, or GWT compliance.

Use this Skill: https://skilld.dev/gh/bmad-labs/skills/typescript-e2e-testing

This session only. Nothing lands on disk.

referencesredisknowledge.md

≈655 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Redis E2E Testing Knowledge

Overview

Redis E2E testing focuses on verifying caching, session management, rate limiting, and pub/sub behaviors in an in-memory data store context.

Key Concepts

Concept Description
Key-Value Store Basic string storage with keys
TTL (Time To Live) Automatic key expiration
Data Structures Strings, Hashes, Lists, Sets, Sorted Sets
Pub/Sub Publish/Subscribe messaging pattern
Transactions MULTI/EXEC atomic operations
Pipelining Batch command execution

Common Use Cases

Use Case Redis Feature Test Focus
Caching GET/SET with TTL Cache hit/miss, TTL expiration
Sessions Hashes with TTL Session creation/deletion/extend
Rate Limiting INCR with EXPIRE Limit enforcement, window reset
Real-time Updates Pub/Sub Message delivery, subscription
Queues Lists (LPUSH/RPOP) Message ordering, processing
Leaderboards Sorted Sets Score updates, ranking

Test Isolation Strategies

Strategy Speed Use Case
FLUSHDB Fast Clear current database
FLUSHALL Fast Clear all databases
DELETE by pattern Medium Selective cleanup
Different DB index N/A Parallel test isolation

Docker Configuration for Tests

redis-e2e:
  image: redis:7-alpine
  ports:
    - "6380:6379"  # Different from dev
  command: redis-server --save "" --appendonly no --maxmemory 100mb --maxmemory-policy allkeys-lru

Performance Settings Explained

Setting Default Test Value Effect
save "" periodic disabled Skip RDB snapshots
appendonly no on off Skip AOF persistence
maxmemory unlimited 100mb Limit memory usage
maxmemory-policy noeviction allkeys-lru Evict old keys

Warning: These settings sacrifice persistence for speed. Only use for tests.

ioredis vs redis (node-redis)

Feature ioredis node-redis
Cluster Support Built-in Built-in
Sentinel Support Built-in Built-in
Pipelining Automatic Manual
Lua Scripts Yes Yes
TypeScript Yes Yes
Reconnection Auto Auto

Key Files

File Purpose
rules.md Redis-specific testing rules
test-helper.md RedisTestHelper implementation
docker-setup.md Docker configuration
examples.md Complete test examples

Source: SKILL.md on GitHub

1 alert16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill provides comprehensive workflows and reference materials for E2E testing in TypeScript/NestJS projects. It uses standard development tools like Jest, Docker, and shell commands. No malicious patterns or security risks were detected.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    30/103 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3bcc7a6. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated 5 months ago
  • TypeScript
  • jest
  • nestjs
  • e2e-testing
  • supertest
  • docker
  • kafka
  • postgres
  • mongodb
  • redis
  • integration-testing
  • gwt-pattern

README badge

README badge for bmad-labs/skills

Writes E2E and integration tests for NestJS projects using Jest and supertest against real Docker infrastructure (Kafka, PostgreSQL, MongoDB, Redis) following the Given-When-Then pattern. Covers test setup, writing, review, debugging, and optimization workflows with technology-specific helpers and isolation strategies for each service.

Generated from the current SKILL.md.

Does this skill work with NestJS only?
The skill is built for NestJS projects using Jest and supertest, but the patterns and workflows apply to any TypeScript backend with HTTP endpoints. Technology-specific helpers exist for Kafka, PostgreSQL, MongoDB, and Redis.
Do I need Docker running to use this skill?
Yes. The skill assumes real infrastructure via Docker (Kafka, PostgreSQL, MongoDB, Redis). Tests execute against actual services, not mocks.
What if my E2E tests are flaky or failing?
The Debugging E2E Test workflow provides a systematic protocol: fix one test at a time using isolated test runs, verify with 3-5 consecutive runs before moving to the next failure, then run the full suite only once all tests pass individually.
Does this skill cover GraphQL or gRPC testing?
Yes. The API testing reference includes examples for REST, GraphQL, and gRPC, plus external API mocking with MSW and Nock.
What is the Given-When-Then pattern and is it mandatory?
GWT is the mandatory test structure: Given describes setup state, When describes the action under test, Then describes expected outcomes. All E2E tests in this skill must follow this pattern.

Generated from the current SKILL.md. These answers refresh after source changes.