Neue Funktion Schüler austragen statt aus Kurs löschen.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
using LehrerApp.Core.Models;
|
||||
using LehrerApp.Desktop.ViewModels.Groups;
|
||||
using Xunit;
|
||||
|
||||
namespace LehrerApp.Desktop.Tests;
|
||||
|
||||
public class WithdrawStudentDialogViewModelTests
|
||||
{
|
||||
[Fact]
|
||||
public void InitialisiertMitHeutigemDatumUndSpeichertAustritt()
|
||||
{
|
||||
var membership = new GroupMembership { JoinedAt = new DateOnly(2025, 9, 1) };
|
||||
var memberships = new FakeMemberships([membership]);
|
||||
var vm = new WithdrawStudentDialogViewModel(
|
||||
memberships, membership, "Anna Beispiel", "7a", new DateOnly(2025, 10, 5));
|
||||
|
||||
Assert.Equal(new DateOnly(2025, 10, 5), DateOnly.FromDateTime(vm.SelectedDate!.Value.LocalDateTime));
|
||||
|
||||
vm.SaveCommand.Execute(null);
|
||||
|
||||
Assert.True(vm.WasSaved);
|
||||
Assert.Equal(new DateOnly(2025, 10, 5), membership.LeftAt);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void VerhindertAustrittVorEintritt()
|
||||
{
|
||||
var membership = new GroupMembership { JoinedAt = new DateOnly(2025, 9, 1) };
|
||||
var vm = new WithdrawStudentDialogViewModel(
|
||||
new FakeMemberships([membership]), membership, "Anna Beispiel", "7a");
|
||||
vm.SelectedDate = new DateTimeOffset(2025, 8, 31, 0, 0, 0, TimeSpan.Zero);
|
||||
|
||||
vm.SaveCommand.Execute(null);
|
||||
|
||||
Assert.False(vm.WasSaved);
|
||||
Assert.Null(membership.LeftAt);
|
||||
Assert.NotEmpty(vm.DateError);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user