/**
 * Synthetic QAFRow fixtures for qaf-value-stream unit tests — no real corpus
 * data (fantasy process names / suppliers only, per task instruction and
 * KAR-943 confidentiality discipline). Mirrors parseQAFTemplate's own
 * default-filled row shape (lib/qaf-parser.ts ~line 734) field-for-field.
 *
 * tdd-guard:skip — test fixture helper, not a spec file itself.
 */

import type { QAFRow } from '@/lib/qaf-parser'

export function emptyQafRow(): QAFRow {
  return {
    positionsnummer: '',
    teilebenennung: '',
    prozessbezeichnung: '',
    bezeichnungAnlage: '',
    standort: '',
    beschaffungswaehrung: '',
    angebotswaehrung: '',
    zykluszeit: null,
    teileProZyklus: null,
    anzahlMA: null,
    lohnkosten: null,
    lohnzuschlagssaetze: null,
    mss: null,
    ruestkosten: null,
    fek: null,
    rfgk: null,
    fk: null,
    wechselkurs: null,
    anzahlProAngebotsteil: null,
    fkAW: null,
    ausschuss: null,
    ausschusskosten: null,
  }
}

export function buildQafRow(overrides: Partial<QAFRow> = {}): QAFRow {
  return { ...emptyQafRow(), ...overrides }
}
