Edit Stammdaten Mitarbeitsessions
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user