Edit Stammdaten Mitarbeitsessions

This commit is contained in:
2026-08-19 12:47:09 +02:00
parent b2c1b15167
commit 9106b4b0e1
6 changed files with 131 additions and 8 deletions
@@ -0,0 +1,62 @@
using LehrerApp.Core.Models;
using LehrerApp.Desktop.ViewModels.Groups;
using Xunit;
namespace LehrerApp.Desktop.Tests;
public sealed class ParticipationSessionEditingTests
{
[Fact]
public void Bearbeitungsdialog_AendertBestehendeSessionOhneVerknuepfungenZuErsetzen()
{
var session = new ParticipationSession
{
GroupId = Guid.NewGuid(),
Date = new DateOnly(2026, 8, 19),
Comment = "Sitzplan",
LessonId = Guid.NewGuid(),
CompetencyCodes = ["K1"],
};
var vm = new AddSessionDialogViewModel(session)
{
DateText = "20.08.2026",
Comment = "Elektrische Stromkreise",
};
vm.SaveCommand.Execute(null);
Assert.Same(session, vm.Result);
Assert.Equal(new DateOnly(2026, 8, 20), session.Date);
Assert.Equal("Elektrische Stromkreise", session.Comment);
Assert.NotNull(session.LessonId);
Assert.Equal(["K1"], session.CompetencyCodes);
}
[Fact]
public async Task BearbeitenBefehl_SpeichertSessionUndAktualisiertAnzeige()
{
var group = new LearningGroup { Name = "8a", SchoolYear = "2026/27" };
var session = new ParticipationSession
{
GroupId = group.Id,
Date = new DateOnly(2026, 8, 19),
Comment = "Sitzplan",
};
var sessions = new FakeSessions([session]);
var vm = new ParticipationTabViewModel(
sessions, new FakeEntries(), new FakeAspects(), new FakeStudents([]),
new FakeMemberships([]), new FakeGroups([group]), new FakeCompetencyDomains());
vm.OnEditSession = existing =>
{
existing.Comment = "Nachbesprechung Elektrizität";
return Task.FromResult<ParticipationSession?>(existing);
};
vm.Initialize(group.Id, group.SchoolYear);
await vm.EditSessionCommand.ExecuteAsync(null);
Assert.Equal(session.Id, vm.SelectedSession?.Id);
Assert.Equal("Nachbesprechung Elektrizität", sessions.GetById(session.Id)?.Comment);
Assert.Contains("Nachbesprechung Elektrizität", vm.SelectedSessionDisplay);
}
}