Upgrade Sitzplan - Jetzt mit Bewertungsfeature
This commit is contained in:
@@ -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