一键导入
add-e2e-test
Create an End-to-End (E2E) test for a REST controller or GraphQL resolver using Fastify injection.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create an End-to-End (E2E) test for a REST controller or GraphQL resolver using Fastify injection.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Add a new BullMQ job queue to the project — processor, producer injection, module registration, Bull Board integration, and unit tests.
Write unit tests for an existing NestJS service, resolver, or controller in the project following its Vitest + NestJS Testing conventions.
Run the full code quality pipeline (TypeScript + Biome + Knip), fix all issues, and clean up comments in changed code.
Create a git commit with all unstaged changes. Use this skill whenever the user asks to commit, make a commit, save changes to git, or says something like "commit this", "commit all changes". Always runs npm run check before committing and fixes any errors found.
Use this workflow to implement ANY new feature following Test-Driven Development strictly.
Guide through a full Prisma schema change workflow — edit schema, create migration, regenerate client, update affected services.
| name | add-e2e-test |
| description | Create an End-to-End (E2E) test for a REST controller or GraphQL resolver using Fastify injection. |
supertest.E2EClient and createTestingApp from test/utils/testing-app.ts.describe, it, expect, beforeAll, etc. from 'vitest', as they are globally available.import { E2EClient } from '../../test/utils/e2e-client';
import { createTestingApp } from '../../test/utils/testing-app';
describe('FeatureName (e2e)', () => {
let client: E2EClient;
beforeAll(async () => {
const { fastify } = await createTestingApp();
client = new E2EClient(fastify);
});
it('should process request and return 200', async () => {
// Arrange
// Act
const response = await client.request({ method: 'GET', url: '/api/path' });
// Assert
expect(response.statusCode).toBe(200);
});
});