Skip to main content

testing-guide

VibeCode test conventions, Jest configuration, mock patterns, and known issues. Preload into test-fixer and quality-sweep agents.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
ryanmaclean/vibecode-webgui
آخر نشاط في المصدر
١٣ فبراير ٢٠٢٦ في ١٩:٥٧
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
testing-guide
description
VibeCode test conventions, Jest configuration, mock patterns, and known issues. Preload into test-fixer and quality-sweep agents.
disable-model-invocation
true
user-invocable
false
# VibeCode Testing Guide ## Framework - Jest with ts-jest transform - Test files: `*.test.ts`, `*.test.tsx` - Locations: `tests/unit/`, `tests/integration/`, `tests/` ## Running Tests ```bash # Full suite (ALWAYS use --maxWorkers=2) npx jest --maxWorkers=2 --passWithNoTests # Single file npx jest --maxWorkers=2 path/to/file.test.ts # With coverage npx jest --maxWorkers=2 --coverage # Pattern match npx jest --maxWorkers=2 --testPathPattern="auth" ``` ## Test Patterns ```typescript import { describe, it, expect, jest, beforeEach } from '@jest/globals'; describe('ModuleName', () => { beforeEach(() => { jest.clearAllMocks(); }); describe('functionName', () => { it('should handle normal input correctly', () => { // arrange, act, assert }); it('should throw on invalid input', () => { expect(() => fn(null)).toThrow(); }); }); }); ``` ## Mock Patterns - Mock next-auth: `jest.mock('next-auth', () => ({ getServerSession: jest.fn() }))` - Mock prisma: `jest.mock('@/lib/prisma', () => ({ prisma: { user: { findUnique: jest.fn() } } }))` - Mock env vars: `process.env.X = 'value'` in beforeEach, cleanup in afterEach - Mock fetch: `global.fetch = jest.fn().mockResolvedValue({ json: () => ({}) })` ## Known Pre-Existing Failures (do NOT fix, do NOT block on) - `tests/feature-audit/issue-1527.test.ts` - `tests/unit/components/AppNavigation.test.tsx` - `tests/unit/lib/auth-password.test.ts` (2 failures) - Several page-level tests with route-metrics issues ## Critical Rules - NEVER use `--maxWorkers` > 2 (OOM, exit 137) - NEVER delete tests to make suite pass - After deleting source files, grep for orphaned test imports - Mock external dependencies, never make real API/DB calls
عرض على GitHub