61 lines
1.6 KiB
C#
61 lines
1.6 KiB
C#
using LehrerApp.Core.Models;
|
|
using LehrerApp.Desktop.ViewModels.Students;
|
|
using Xunit;
|
|
|
|
namespace LehrerApp.Desktop.Tests;
|
|
|
|
public class StudentListViewModelTests
|
|
{
|
|
private readonly Student _anna = new() { FirstName = "Anna", LastName = "Beispiel", Gender = Gender.W };
|
|
private readonly Student _ben = new() { FirstName = "Ben", LastName = "Muster", Gender = Gender.M };
|
|
private readonly LearningGroup _group = new() { Name = "Mathematik 7a" };
|
|
|
|
[Fact]
|
|
public void SucheFindetSchuelerWeiterhinUeberNamen()
|
|
{
|
|
var vm = BuildViewModel();
|
|
|
|
vm.SearchText = "Anna";
|
|
|
|
Assert.Single(vm.Students);
|
|
Assert.Equal(_anna.Id, vm.Students[0].Id);
|
|
}
|
|
|
|
[Fact]
|
|
public void SucheFindetSchuelerUeberLerngruppe()
|
|
{
|
|
var vm = BuildViewModel();
|
|
|
|
vm.SearchText = "7a";
|
|
|
|
Assert.Single(vm.Students);
|
|
Assert.Equal(_ben.Id, vm.Students[0].Id);
|
|
}
|
|
|
|
[Fact]
|
|
public void LeereSucheZeigtAlleSchueler()
|
|
{
|
|
var vm = BuildViewModel();
|
|
|
|
vm.SearchText = " ";
|
|
|
|
Assert.Equal(2, vm.Students.Count);
|
|
}
|
|
|
|
[Fact]
|
|
public void ListeneintraegeZeigenAvatarAusGespeichertemGeschlecht()
|
|
{
|
|
var vm = BuildViewModel();
|
|
|
|
Assert.Equal("W", vm.Students.Single(s => s.Id == _anna.Id).AvatarLabel);
|
|
Assert.Equal("M", vm.Students.Single(s => s.Id == _ben.Id).AvatarLabel);
|
|
}
|
|
|
|
private StudentListViewModel BuildViewModel() => new(
|
|
new FakeStudents([_anna, _ben]),
|
|
new FakeGroups([_group]),
|
|
new FakeMemberships([
|
|
new GroupMembership { StudentId = _ben.Id, GroupId = _group.Id },
|
|
]));
|
|
}
|