feat(ST-1138): mobile Solo-pagina + verify TaskDetailDialog (T-331/T-332/T-333)
- app/(mobile)/m/products/[id]/solo/page.tsx — hergebruikt SoloBoard 1:1 met desktop. 3-koloms-kanban blijft, NoActiveSprint-fallback ongewijzigd - T-332 verify-only: TaskDetailDialog regel 383 gebruikt entityDialogContentClasses → mobile-fullscreen erft automatisch uit ST-1133 - Tests: regressie-vangnet op SoloBoard-hergebruik, requireSession, NoActiveSprint, en op TaskDetailDialog-className-wiring (geen override) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5b42740461
commit
b327fbdf09
2 changed files with 155 additions and 0 deletions
35
__tests__/app/m-solo-page.test.ts
Normal file
35
__tests__/app/m-solo-page.test.ts
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
// ST-1138: regressie-vangnet voor mobile solo-page (server component).
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { readFileSync } from 'node:fs'
|
||||
import { resolve } from 'node:path'
|
||||
|
||||
const PAGE = resolve(process.cwd(), 'app/(mobile)/m/products/[id]/solo/page.tsx')
|
||||
const TASK_DETAIL = resolve(process.cwd(), 'components/solo/task-detail-dialog.tsx')
|
||||
|
||||
describe('mobile solo page (ST-1138)', () => {
|
||||
const src = readFileSync(PAGE, 'utf-8')
|
||||
|
||||
it('hergebruikt SoloBoard zonder content-aanpassingen', () => {
|
||||
expect(src).toContain('SoloBoard')
|
||||
expect(src).toContain("from '@/components/solo/solo-board'")
|
||||
})
|
||||
|
||||
it('auth via gedeelde requireSession()', () => {
|
||||
expect(src).toContain("from '@/lib/auth-guard'")
|
||||
expect(src).toContain('requireSession()')
|
||||
})
|
||||
|
||||
it('geeft NoActiveSprint terug als geen actieve sprint (zelfde gedrag als desktop)', () => {
|
||||
expect(src).toContain('NoActiveSprint')
|
||||
})
|
||||
})
|
||||
|
||||
describe('TaskDetailDialog erft mobile-fullscreen (ST-1138 T-332 verify-only)', () => {
|
||||
// Beslissing A: TaskDetailDialog gebruikt entityDialogContentClasses; mobile-classes
|
||||
// komen automatisch door uit T-317. Dit test bewijst de wiring blijft staan.
|
||||
const src = readFileSync(TASK_DETAIL, 'utf-8')
|
||||
|
||||
it('rendert DialogContent met entityDialogContentClasses (geen eigen className-override)', () => {
|
||||
expect(src).toContain('className={entityDialogContentClasses}')
|
||||
})
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue