# Golden Test Suite - Intent Classification Tests
# Each test validates correct intent detection for teacher voice commands

tests:
  # Gruppe 1: Kurze Notizen
  - id: INT-001
    name: "Student Observation - Simple"
    input: "Notiz zu Max: heute wiederholt gestoert"
    expected_intent: "student_observation"
    expected_slots:
      student_name: "Max"
      observation: "heute wiederholt gestoert"
    min_score: 4.0

  - id: INT-002
    name: "Student Observation - Needs Help"
    input: "Anna braucht extra Uebungsblatt Bruchrechnung"
    expected_intent: "student_observation"
    expected_slots:
      student_name: "Anna"
    min_score: 4.0

  - id: INT-003
    name: "Reminder - Simple"
    input: "Erinner mich morgen an Hausaufgabenkontrolle"
    expected_intent: "reminder"
    expected_slots:
      time: "morgen"
    min_score: 4.0

  - id: INT-004
    name: "Homework Check - With Time"
    input: "7b Mathe Hausaufgabe kontrollieren, morgen 7:30"
    expected_intent: "homework_check"
    expected_slots:
      class_name: "7b"
      subject: "Mathe"
      time: "7:30"
    min_score: 4.0

  - id: INT-005
    name: "Conference Topic"
    input: "Thema Lehrerkonferenz: iPad-Regeln Klasse 6"
    expected_intent: "conference_topic"
    min_score: 4.0

  - id: INT-006
    name: "Correction Note"
    input: "Aufgabe 3: haeufiger Fehler, naechste Stunde erklaeren"
    expected_intent: "correction_note"
    expected_slots:
      task_number: 3
    min_score: 3.5

  # Gruppe 2: Arbeitsblatt-Generierung
  - id: INT-007
    name: "Worksheet Generate - Vocabulary"
    input: "Nimm Vokabeln Lektion 4, mach 3 Lueckentexte"
    expected_intent: "worksheet_generate"
    expected_slots:
      source: "Vokabeln Lektion 4"
      count: 3
      type: "Lueckentexte"
    min_score: 4.0

  - id: INT-008
    name: "Worksheet Generate - Simple"
    input: "Erstelle Arbeitsblatt zu Bruchrechnung"
    expected_intent: "worksheet_generate"
    expected_slots:
      topic: "Bruchrechnung"
    min_score: 4.0

  - id: INT-009
    name: "Worksheet Differentiate"
    input: "Zwei Schwierigkeitsstufen: Basis und Plus"
    expected_intent: "worksheet_differentiate"
    min_score: 3.5

  # Gruppe 3: Situatives Arbeiten
  - id: INT-010
    name: "Quick Activity - With Time"
    input: "10 Minuten Einstieg, 5 Aufgaben, leichte Progression"
    expected_intent: "quick_activity"
    expected_slots:
      duration_minutes: 10
      task_count: 5
    min_score: 4.0

  - id: INT-011
    name: "Quiz Generate - Vocabulary"
    input: "10-Minuten Vokabeltest mit Loesungen"
    expected_intent: "quiz_generate"
    expected_slots:
      duration_minutes: 10
      with_solutions: true
    min_score: 4.0

  - id: INT-012
    name: "Quiz Generate - Short Test"
    input: "Kurzer Test zu Kapitel 5"
    expected_intent: "quiz_generate"
    min_score: 3.5

  - id: INT-013
    name: "Parent Letter - Neutral"
    input: "Neutraler Elternbrief wegen wiederholter Stoerungen"
    expected_intent: "parent_letter"
    expected_slots:
      tone: "neutral"
      reason: "wiederholte Stoerungen"
    min_score: 4.0

  - id: INT-014
    name: "Parent Letter - Simple"
    input: "Schreib einen Elternbrief wegen fehlender Hausaufgaben"
    expected_intent: "parent_letter"
    min_score: 4.0

  - id: INT-015
    name: "Class Message"
    input: "Nachricht an 8a: Hausaufgaben bis Mittwoch"
    expected_intent: "class_message"
    expected_slots:
      class_name: "8a"
      deadline: "Mittwoch"
    min_score: 4.0

  # Gruppe 4: Canvas-Editor
  - id: INT-016
    name: "Canvas Edit - Size"
    input: "Ueberschriften groesser, Zeilenabstand kleiner"
    expected_intent: "canvas_edit"
    min_score: 4.0

  - id: INT-017
    name: "Canvas Edit - Move"
    input: "Bild 2 nach links, Pfeil von Bild 2 auf Aufgabe 3"
    expected_intent: "canvas_edit"
    min_score: 3.5

  - id: INT-018
    name: "Canvas Layout - A4"
    input: "Alles auf eine Seite, Drucklayout A4"
    expected_intent: "canvas_layout"
    min_score: 4.0

  # Gruppe 5: Korrektur & RAG-Assistenz
  - id: INT-019
    name: "Operator Checklist"
    input: "Operatoren-Checkliste fuer diese Aufgabe"
    expected_intent: "operator_checklist"
    is_actionable: false
    min_score: 4.0

  - id: INT-020
    name: "EH Passage"
    input: "Erwartungshorizont-Passage zu diesem Thema"
    expected_intent: "eh_passage"
    is_actionable: false
    min_score: 4.0

  - id: INT-021
    name: "Feedback Suggest"
    input: "Kurze Feedbackformulierung vorschlagen"
    expected_intent: "feedback_suggest"
    min_score: 3.5

  # Gruppe 6: Follow-up
  - id: INT-022
    name: "Reminder Schedule - Tomorrow"
    input: "Erinner mich morgen an das Gespraech mit Max"
    expected_intent: "reminder_schedule"
    expected_slots:
      time: "morgen"
    min_score: 4.0

  - id: INT-023
    name: "Task Summary"
    input: "Fasse alle offenen Tasks dieser Woche zusammen"
    expected_intent: "task_summary"
    is_actionable: false
    min_score: 4.0
