Redesign Klassenlehrer Tab.
This commit is contained in:
@@ -126,6 +126,51 @@ public sealed class ClassTeacherViewModelsTests
|
||||
Assert.True(ben.HasRecentClassRegisterEntry);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RosterBuild_BeschreibtVerspaetungNichtAlsNullFehlstunden()
|
||||
{
|
||||
var students = new[] { Student(1001, "Ada Müller") };
|
||||
var todayAbsences = new[]
|
||||
{
|
||||
new ClassAbsenceDaySummaryRow(new DateOnly(2026, 8, 26), "Müller Ada", 1001, 0, 20,
|
||||
["Deu"], [1], ["nicht entsch."], ["Verspätung"], null, null, false),
|
||||
};
|
||||
|
||||
var row = Assert.Single(ClassTeacherRosterRow.Build(students, todayAbsences, [],
|
||||
new DateOnly(2026, 8, 26)));
|
||||
|
||||
Assert.True(row.IsLate);
|
||||
Assert.True(row.IsUnexcused);
|
||||
Assert.Equal("20 Min. verspätet · Unentschuldigt", row.StatusText);
|
||||
Assert.Equal("#FF5A67", row.StatusColor);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RosterBuild_PriorisiertHandlungsbedarfVorUnauffaelligenSchuelern()
|
||||
{
|
||||
var students = new[]
|
||||
{
|
||||
Student(1001, "Zora Unauffällig"),
|
||||
Student(1002, "Ada Fehlzeit"),
|
||||
Student(1003, "Ben Klassenbuch"),
|
||||
};
|
||||
var absences = new[]
|
||||
{
|
||||
new ClassAbsenceDaySummaryRow(new DateOnly(2026, 8, 26), "Fehlzeit Ada", 1002, 2, 90,
|
||||
["Deu"], [1, 2], ["nicht entsch."], ["Absent"], null, null, false),
|
||||
};
|
||||
var register = new[]
|
||||
{
|
||||
new UntisForeignClassRegisterEventDto("10c", 20260825, "Deu", "Klassenbuch Ben", "test",
|
||||
"Fehlende HA", "Negativ", "Hausaufgaben fehlen"),
|
||||
};
|
||||
|
||||
var rows = ClassTeacherRosterRow.Build(students, absences, register, new DateOnly(2026, 8, 26));
|
||||
|
||||
Assert.Equal(["Ada Fehlzeit", "Ben Klassenbuch", "Zora Unauffällig"],
|
||||
rows.Select(r => r.StudentName));
|
||||
}
|
||||
|
||||
private static UntisStudentRosterCacheEntry Student(int? externKey, string displayName) =>
|
||||
new() { ClassName = "6a", ExternKey = externKey, DisplayName = displayName };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user