// Loop 9: fachlicher Titel aus Daten — Vorrangfolge und Leerwert-Ehrlichkeit.

import { describe, expect, it } from 'vitest'
import { fachlicherTitelDe } from '@/components/qaf-differences/qaf-header-model'

describe('fachlicherTitelDe', () => {
  it('nimmt den Nutzer-Titel vor der Sachnummer', () => {
    expect(fachlicherTitelDe({ customTitle: 'Nachverhandlung Q3', partNumber: 'P1234567' })).toBe(
      'Nachverhandlung Q3',
    )
  })

  it('fällt ohne Titel auf die Sachnummer zurück', () => {
    expect(fachlicherTitelDe({ customTitle: null, partNumber: 'P1234567' })).toBe('P1234567')
  })

  it('behandelt leeren und Whitespace-Titel als nicht gesetzt', () => {
    expect(fachlicherTitelDe({ customTitle: '', partNumber: 'P1234567' })).toBe('P1234567')
    expect(fachlicherTitelDe({ customTitle: '   ', partNumber: 'P1234567' })).toBe('P1234567')
  })

  it('trimmt den Nutzer-Titel statt Whitespace anzuzeigen', () => {
    expect(fachlicherTitelDe({ customTitle: '  Titel  ', partNumber: null })).toBe('Titel')
  })

  it('sagt ehrlich „Vergleich", wenn weder Titel noch Sachnummer existieren', () => {
    expect(fachlicherTitelDe({ customTitle: null, partNumber: null })).toBe('Vergleich')
    expect(fachlicherTitelDe({ customTitle: ' ', partNumber: '  ' })).toBe('Vergleich')
  })
})
