fix: Anwesenheitskalender respektiert die von der Vorlage vorgegebene Boxhöhe
CI / build-and-test (push) Waiting to run
CI / build-and-test (push) Waiting to run
Nachdem die Kalender-Breite jetzt an die reale DRAWBOX/FLOWDRAWBOX-Breite gekoppelt ist, konnte das (korrekt größer werdende) Raster die von der Vorlage deklarierte Höhe überschreiten - eine DRAWBOX bricht anders als eine FLOWDRAWBOX nicht automatisch auf Folgeseiten um, überschüssiger Inhalt wird von QuestTemplateRenderer stillschweigend am unteren Rand abgeschnitten. StudentAttendanceCalendarDrawingBuilder ermittelt jetzt vorab, wie viele Wochen die gewählten Monate brauchen, und verkleinert "Größe" automatisch so weit, dass der Kalender innerhalb der deklarierten Höhe bleibt (nur bei DRAWBOX/IsFixed - eine FLOWDRAWBOX darf weiterhin frei wachsen, da sie bei Bedarf auf weitere Seiten fließt statt abzuschneiden). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,25 @@ public sealed class ClassTeacherViewModelsTests
|
||||
Assert.True(large.ContentHeight > small.ContentHeight);
|
||||
}
|
||||
|
||||
// Regression: DRAWBOX bricht anders als FLOWDRAWBOX nicht automatisch um - Inhalt, der die von
|
||||
// der Vorlage deklarierte Höhe überschreitet, wird von QuestTemplateRenderer stillschweigend am
|
||||
// unteren Rand abgeschnitten (kein Fehler, keine Warnung). "Größe" muss deshalb automatisch so
|
||||
// weit verkleinert werden, dass alle gewählten Monate innerhalb von contentHeight Platz finden.
|
||||
[Fact]
|
||||
public void ElternbriefKalender_VerkleinertGroesseAutomatischUmDieVorlagenHoeheEinzuhalten()
|
||||
{
|
||||
var start = new DateOnly(2026, 9, 18);
|
||||
var uneingeschraenkt = StudentAttendanceCalendarDrawingBuilder.Build("Ada Müller",
|
||||
new AttendanceCalendarOptions(start, 3, AttendanceCalendarSize.Large), [], []);
|
||||
var engeBox = StudentAttendanceCalendarDrawingBuilder.Build("Ada Müller",
|
||||
new AttendanceCalendarOptions(start, 3, AttendanceCalendarSize.Large), [], [],
|
||||
contentHeight: 60);
|
||||
|
||||
Assert.True(uneingeschraenkt.ContentHeight > 60,
|
||||
"Testvoraussetzung: 3 Monate in 'Groß' brauchen ohne Deckelung mehr als 60 Einheiten Höhe.");
|
||||
Assert.True(engeBox.ContentHeight <= 60 + 0.01f);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ElternbriefFehltage_ListetDatumUmfangUndEntschuldigungsstatus()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user