// 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}')
  })
})
