Persönliche Klausurlast pro Woche, Mitarbeit-Reset und Sitzplan-Strichliste
CI / build-and-test (push) Canceled after 0s

- Klausuren: neuer ExamWeekLoadService zählt eigene Klausuren je ISO-Woche
  über alle Kurse hinweg (Klassen-Kollisionen deckt bereits der externe
  Klausurplaner ab). Hinweis direkt im ExamDialog beim Datum, zusätzlich
  neue Dashboard-Karte "Klausurwochen" für die 60-Tage-Vorausschau.
- Mitarbeit: Schnelleingabe-Dialog kann eine Bewertung jetzt per Entf auf
  "nicht bewertet" zurücksetzen (bisher nur im Sitzplatz-Dialog möglich).
- Sitzplan: Strichliste "gemeldet"/"gemeldet und drangekommen" direkt auf
  der Sitzplatz-Kachel (ParticipationEntry.RaisedHandCount/CalledOnCount);
  schlägt im Sitzplatz-Dialog eine Quantitätsbewertung vor (ein Klick zum
  Übernehmen, nie automatisch).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 02:11:20 +02:00
co-authored by Claude Sonnet 5
parent 538ad65a3a
commit da4b88c93d
19 changed files with 640 additions and 8 deletions
@@ -0,0 +1,32 @@
using LehrerApp.Core.Models;
using Xunit;
namespace LehrerApp.Tests;
/// Tests für den Quantitäts-Vorschlag aus der Sitzplan-Strichliste (Nutzer-Feedback):
/// wie oft sich jemand meldet, schlägt direkt eine Quantitätsbewertung vor.
public sealed class ParticipationCountSuggestionTests
{
[Theory]
[InlineData(0, -2)]
[InlineData(1, -1)]
[InlineData(2, 0)]
[InlineData(3, 0)]
[InlineData(4, 1)]
[InlineData(5, 1)]
[InlineData(6, 2)]
[InlineData(20, 2)]
public void SuggestQuantity_Scale5_BildetMeldungszahlAufStufeAb(int raisedHandCount, int expected)
{
Assert.Equal(expected, ParticipationCountSuggestion.SuggestQuantity(AspectValueType.Scale5, raisedHandCount));
}
[Theory]
[InlineData(AspectValueType.Scale3)]
[InlineData(AspectValueType.Binary)]
[InlineData(AspectValueType.Points)]
public void SuggestQuantity_AndereTypen_GibtKeinenVorschlag(AspectValueType type)
{
Assert.Null(ParticipationCountSuggestion.SuggestQuantity(type, 5));
}
}