CI / build-and-test (push) Canceled after 0s
Neue Menü-Kategorie "Formulare" in der Menüleiste: "Elternbrief erzeugen..." öffnet jetzt einen Schüler-Picker statt nur aus der Schülerdetailansicht erreichbar zu sein, "Arbeitsblatt personalisieren..." ist aktiv, sobald eine einzelne Lerngruppe geöffnet ist, und erzeugt aus einer in TemplateDesigner gebauten .lavorlage-Vorlage ein PDF je aktivem Gruppenmitglied - über eine von den Elternbrief-Vorlagen getrennte WorksheetTemplateStore-Bibliothek. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
50 lines
1.3 KiB
C#
50 lines
1.3 KiB
C#
using LehrerApp.Core.Models;
|
|
using LehrerApp.Desktop.ViewModels.Students;
|
|
using Xunit;
|
|
|
|
namespace LehrerApp.Desktop.Tests;
|
|
|
|
public sealed class StudentPickerDialogViewModelTests
|
|
{
|
|
private static (StudentPickerDialogViewModel Vm, Student Anna, Student Ben) Build()
|
|
{
|
|
var anna = new Student { FirstName = "Anna", LastName = "Adler" };
|
|
var ben = new Student { FirstName = "Ben", LastName = "Bauer" };
|
|
var vm = new StudentPickerDialogViewModel(new FakeStudents([anna, ben]));
|
|
return (vm, anna, ben);
|
|
}
|
|
|
|
[Fact]
|
|
public void SearchText_FiltertNachTeilstring()
|
|
{
|
|
var (vm, anna, _) = Build();
|
|
|
|
vm.SearchText = "ann";
|
|
|
|
Assert.Single(vm.Students);
|
|
Assert.Equal(anna.FullName, vm.Students[0].FullName);
|
|
}
|
|
|
|
[Fact]
|
|
public void Select_OhneAuswahl_SetztValidationMessage()
|
|
{
|
|
var (vm, _, _) = Build();
|
|
|
|
vm.SelectCommand.Execute(null);
|
|
|
|
Assert.Null(vm.Result);
|
|
Assert.NotEqual("", vm.ValidationMessage);
|
|
}
|
|
|
|
[Fact]
|
|
public void Select_MitAuswahl_LiefertVollenSchueler()
|
|
{
|
|
var (vm, anna, _) = Build();
|
|
vm.SelectedStudent = vm.Students.Single(s => s.Id == anna.Id);
|
|
|
|
vm.SelectCommand.Execute(null);
|
|
|
|
Assert.Equal(anna.Id, vm.Result?.Id);
|
|
}
|
|
}
|