Upgrade Sitzplan - Jetzt mit Bewertungsfeature
This commit is contained in:
@@ -137,6 +137,24 @@ public sealed class DocumentationDialogViewModelTests
|
||||
Assert.Equal("Gut verlaufen", vm.Result.ParentCallData.Impressions);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Save_SitzplanEntwurf_WirdAbgeschlossenUndBehaeltStundenbezug()
|
||||
{
|
||||
var sessionId = Guid.NewGuid();
|
||||
var existing = new Documentation
|
||||
{
|
||||
StudentId = Guid.NewGuid(), Type = DocumentationType.Incident,
|
||||
Date = DateOnly.FromDateTime(DateTime.Today), Title = "Streit/Konflikt",
|
||||
IsDraft = true, ParticipationSessionId = sessionId, Tags = ["Streit/Konflikt"],
|
||||
};
|
||||
var vm = new DocumentationDialogViewModel(existing.StudentId, existing, new FakeAttachmentStorage());
|
||||
|
||||
vm.SaveCommand.Execute(null);
|
||||
|
||||
Assert.False(vm.Result!.IsDraft);
|
||||
Assert.Equal(sessionId, vm.Result.ParticipationSessionId);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Save_Elternbrief_UebernimmtVersandUndRueckmeldung()
|
||||
{
|
||||
|
||||
@@ -146,6 +146,66 @@ public sealed class SeatingPlanViewModelTests
|
||||
Assert.All(vm.Seats, seat => Assert.True(seat.CanEdit));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Ansichtsmodus_ZeigtAnwesenheitUndHausaufgabeUndBlendetAbwesendeAb()
|
||||
{
|
||||
var groupId = Guid.NewGuid();
|
||||
var student = new Student { FirstName = "Anna", LastName = "A" };
|
||||
var session = new ParticipationSession { GroupId = groupId, Date = DateOnly.FromDateTime(DateTime.Today) };
|
||||
var entries = new FakeEntries();
|
||||
entries.Add(new ParticipationEntry
|
||||
{
|
||||
SessionId = session.Id, StudentId = student.Id,
|
||||
Attendance = AttendanceStatus.Excused, Homework = HomeworkStatus.MissingOpen,
|
||||
});
|
||||
var plan = new SeatingPlan
|
||||
{
|
||||
GroupId = groupId, Name = "Standard", Rows = 1, Columns = 1,
|
||||
Assignments = [new SeatAssignment { StudentId = student.Id }],
|
||||
};
|
||||
var vm = new SeatingPlanTabViewModel(new FakeSeatingPlans([plan]), new FakeStudents([student]),
|
||||
new FakeMemberships([new GroupMembership { GroupId = groupId, StudentId = student.Id }]),
|
||||
new FakeSessions([session]), entries, new FakeAspects());
|
||||
|
||||
vm.Initialize(groupId, isReadOnly: false);
|
||||
|
||||
var seat = Assert.Single(vm.Seats);
|
||||
Assert.True(seat.HasAttendanceBadge);
|
||||
Assert.True(seat.HasHomeworkBadge);
|
||||
Assert.Equal(0.42, seat.LessonOpacity);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SituationsTags_WerdenProSchuelerUndSitzungInEinemEntwurfZusammengefuehrt()
|
||||
{
|
||||
var groupId = Guid.NewGuid();
|
||||
var student = new Student { FirstName = "Anna", LastName = "A" };
|
||||
var session = new ParticipationSession
|
||||
{
|
||||
GroupId = groupId, Date = DateOnly.FromDateTime(DateTime.Today), LessonId = Guid.NewGuid(),
|
||||
};
|
||||
var docs = new FakeDocumentation();
|
||||
var plan = new SeatingPlan
|
||||
{
|
||||
GroupId = groupId, Name = "Standard", Rows = 1, Columns = 1,
|
||||
Assignments = [new SeatAssignment { StudentId = student.Id }],
|
||||
};
|
||||
var vm = new SeatingPlanTabViewModel(new FakeSeatingPlans([plan]), new FakeStudents([student]),
|
||||
new FakeMemberships([new GroupMembership { GroupId = groupId, StudentId = student.Id }]),
|
||||
new FakeSessions([session]), new FakeEntries(), new FakeAspects(), docs);
|
||||
vm.Initialize(groupId, isReadOnly: false);
|
||||
var seat = Assert.Single(vm.Seats);
|
||||
|
||||
seat.SituationTags.Single(t => t.Text == "Mitarbeit verweigert").ToggleCommand.Execute(null);
|
||||
seat.SituationTags.Single(t => t.Text == "Material vergessen").ToggleCommand.Execute(null);
|
||||
|
||||
var draft = Assert.Single(docs.GetByStudent(student.Id));
|
||||
Assert.True(draft.IsDraft);
|
||||
Assert.Equal(session.Id, draft.ParticipationSessionId);
|
||||
Assert.Equal(session.LessonId, draft.LessonId);
|
||||
Assert.Equal(["Mitarbeit verweigert", "Material vergessen"], draft.Tags);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Tischabstaende_WerdenBeimBearbeitenProSpaltengrenzeGespeichert()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user