fix: WebUntis-Schülerreport verkraftet fehlenden externKey
Klassenlehrer-Übersicht scheiterte komplett mit "Ungültige Zahl in Spalte externKey", sobald ein Schüler der Klasse keinen gepflegten externen Schlüssel hat (in echten Schuldaten vorkommend). externKey ist jetzt optional statt Pflichtfeld (UntisStudent/UntisStudentDto.ExternKey -> int?); betraf denselben Bericht wie der bestehende WebUntis-Klassenimport, der das aber schon immer beim Weiterimport toleriert hatte. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -51,6 +51,19 @@ public sealed class WebUntisStudentReportParserTests
|
||||
Assert.Equal(20270731, student.ExitDate);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Parse_ErlaubtFehlendenExternKey()
|
||||
{
|
||||
// Reale Schuldaten enthalten Schüler*innen ohne gepflegten externen Schlüssel (z.B. frisch
|
||||
// angelegt) - das darf nicht den Abruf der gesamten Klassenliste zum Absturz bringen.
|
||||
const string report = "id\texternKey\tklasse.name\r\n17\t\t10a\r\n";
|
||||
|
||||
var student = Assert.Single(WebUntisStudentReportParser.Parse(report));
|
||||
|
||||
Assert.Equal(17, student.UntisId);
|
||||
Assert.Null(student.ExternKey);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Parse_LehntUngueltigePflichtIdAb()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user