feat: Stundenplan-Badge für unkontrollierte Hausaufgaben (4.5.4)
Lesson bekommt HomeworkChecked/HomeworkCheckDismissed. Der Stundenplan (Tagesliste und Wochenraster im "Heute"-Tab) zeigt ein 📓-Badge, wenn die letzte Stunde einer Gruppe eine Hausaufgabe hatte, die noch nicht kontrolliert oder bewusst übersprungen wurde. Umschaltbar über zwei sich gegenseitig ausschließende Checkboxen ("Kontrolliert"/"Nicht kontrollieren") im Verlaufsplan-Editor, direkt neben dem Hausaufgabenfeld. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -179,6 +179,59 @@ public sealed class LessonDialogViewModelTests
|
||||
Assert.Single(lessons.GetByUnit(unitId));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHomeworkText_OhneHausaufgabe_IstFalse()
|
||||
{
|
||||
var vm = BuildVm(Guid.NewGuid(), Guid.NewGuid());
|
||||
Assert.False(vm.HasHomeworkText);
|
||||
|
||||
vm.Homework = " ";
|
||||
Assert.False(vm.HasHomeworkText);
|
||||
|
||||
vm.Homework = "S. 42";
|
||||
Assert.True(vm.HasHomeworkText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Save_UebernimmtHomeworkCheckedUndDismissed()
|
||||
{
|
||||
var vm = BuildVm(Guid.NewGuid(), Guid.NewGuid());
|
||||
vm.Topic = "Brechung"; vm.DateText = "01.09.2025";
|
||||
vm.Homework = "S. 42"; vm.HomeworkChecked = true;
|
||||
|
||||
vm.SaveCommand.Execute(null);
|
||||
|
||||
Assert.True(vm.Result!.HomeworkChecked);
|
||||
Assert.False(vm.Result.HomeworkCheckDismissed);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HomeworkChecked_UndHomeworkCheckDismissed_SchliessenSichGegenseitigAus()
|
||||
{
|
||||
var vm = BuildVm(Guid.NewGuid(), Guid.NewGuid());
|
||||
|
||||
vm.HomeworkChecked = true;
|
||||
Assert.False(vm.HomeworkCheckDismissed);
|
||||
|
||||
vm.HomeworkCheckDismissed = true;
|
||||
Assert.False(vm.HomeworkChecked);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Bearbeiten_UebernimmtGespeicherteHomeworkFlags()
|
||||
{
|
||||
var editing = new Lesson
|
||||
{
|
||||
Topic = "Alt", Date = new DateOnly(2025, 9, 1), Homework = "S. 42",
|
||||
HomeworkCheckDismissed = true,
|
||||
};
|
||||
|
||||
var vm = BuildVm(Guid.NewGuid(), Guid.NewGuid(), editing);
|
||||
|
||||
Assert.True(vm.HomeworkCheckDismissed);
|
||||
Assert.False(vm.HomeworkChecked);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasAlternativePath_AngehaktOeffnetZuweisungUndUebernimmtErgebnis()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user