Adds lib/debug.ts with debugProps(id, component, file) that returns data-debug-id and data-debug-label attrs in dev mode, empty object in production. Adds __tests__/lib/debug.test.ts covering both modes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24 lines
814 B
TypeScript
24 lines
814 B
TypeScript
import { describe, it, expect, vi } from 'vitest'
|
|
|
|
import { debugProps } from '@/lib/debug'
|
|
|
|
describe('debugProps', () => {
|
|
it('returns both attrs with correct label in dev mode', () => {
|
|
const result = debugProps('sprint-board', 'SprintBoard', 'components/sprint/sprint-board.tsx')
|
|
expect(result).toEqual({
|
|
'data-debug-id': 'sprint-board',
|
|
'data-debug-label': 'SprintBoard — components/sprint/sprint-board.tsx',
|
|
})
|
|
})
|
|
|
|
it('returns empty object in production mode', () => {
|
|
const original = process.env.NODE_ENV
|
|
try {
|
|
vi.stubEnv('NODE_ENV', 'production')
|
|
const result = debugProps('sprint-board', 'SprintBoard', 'components/sprint/sprint-board.tsx')
|
|
expect(result).toEqual({})
|
|
} finally {
|
|
vi.stubEnv('NODE_ENV', original ?? 'test')
|
|
}
|
|
})
|
|
})
|